- Ionic 基礎教程
- Ionic - 首頁
- Ionic - 概述
- Ionic - 環境設定
- Ionic CSS 元件
- Ionic - 顏色
- Ionic - 內容
- Ionic - 頁首
- Ionic - 頁尾
- Ionic - 按鈕
- Ionic - 列表
- Ionic - 卡片
- Ionic - 表單
- Ionic - 切換按鈕
- Ionic - 複選框
- Ionic - 單選按鈕
- Ionic - 範圍滑塊
- Ionic - 選擇框
- Ionic - 標籤頁
- Ionic - 網格
- Ionic - 圖示
- Ionic - 內邊距
- Ionic Javascript 元件
- Ionic - JS 動作面板
- Ionic - JS 背景
- Ionic - JS 內容
- Ionic - JS 表單
- Ionic - JS 事件
- Ionic - JS 頁首
- Ionic - JS 頁尾
- Ionic - JS 鍵盤
- Ionic - JS 列表
- Ionic - JS 載入
- Ionic - JS 模態框
- Ionic - JS 導航
- Ionic - JS 氣泡提示
- Ionic - JS 彈出視窗
- Ionic - JS 滾動
- Ionic - JS 側邊選單
- Ionic - JS 滑動框
- Ionic - JS 標籤頁
- Ionic 高階概念
- Ionic - Cordova 整合
- Ionic - AdMob
- Ionic - 相機
- Ionic - Facebook
- Ionic - 應用內瀏覽器
- Ionic - 原生音訊
- Ionic - 定位
- Ionic - 媒體
- Ionic - 閃屏
- Ionic 有用資源
- Ionic - 快速指南
- Ionic - 有用資源
- Ionic - 討論
Ionic - JavaScript 彈出視窗
此服務用於在常規檢視頂部建立彈出視窗,該視窗將用於與使用者互動。彈出視窗有四種類型,即 - **顯示**、**確認**、**警報**和**提示**。
使用顯示彈出視窗
此彈出視窗是最複雜的。要觸發彈出視窗,我們需要將 **$ionicPopup** 服務注入到我們的控制器中,然後只需新增一個方法來觸發我們想要使用的彈出視窗,在本例中為 **$ionicPopup.show()**。**onTap(e)** 函式可用於新增 **e.preventDefault()** 方法,如果對輸入沒有進行任何更改,則此方法將使彈出視窗保持開啟狀態。當彈出視窗關閉時,承諾物件將被解析。
控制器程式碼
.controller('MyCtrl', function($scope, $ionicPopup) {
// When button is clicked, the popup will be shown...
$scope.showPopup = function() {
$scope.data = {}
// Custom popup
var myPopup = $ionicPopup.show({
template: '<input type = "text" ng-model = "data.model">',
title: 'Title',
subTitle: 'Subtitle',
scope: $scope,
buttons: [
{ text: 'Cancel' }, {
text: '<b>Save</b>',
type: 'button-positive',
onTap: function(e) {
if (!$scope.data.model) {
//don't allow the user to close unless he enters model...
e.preventDefault();
} else {
return $scope.data.model;
}
}
}
]
});
myPopup.then(function(res) {
console.log('Tapped!', res);
});
};
})
HTML 程式碼
<button class = "button" ng-click = "showPopup()">Add Popup Show</button>
您可能在上述示例中注意到使用了一些新的選項。下表將解釋所有這些選項及其用例。
顯示彈出視窗選項
| 選項 | 型別 | 詳情 |
|---|---|---|
| template | 字串 | 彈出視窗的內聯 HTML 模板。 |
| templateUrl | 字串 | HTML 模板的 URL。 |
| title | 字串 | 彈出視窗的標題。 |
| subTitle | 字串 | 彈出視窗的副標題。 |
| cssClass | 字串 | 彈出視窗的 CSS 類名。 |
| scope | 作用域 | 彈出視窗的作用域。 |
| buttons | 陣列[物件] | 將放置在彈出視窗頁尾中的按鈕。它們可以使用自己的屬性和方法。**text** 顯示在按鈕頂部,**type** 是用於按鈕的 Ionic 類,**onTap** 是按鈕被點選時將觸發的函式。返回值將導致 promise 使用給定值解析。 |
使用確認彈出視窗
確認彈出視窗是 Ionic 彈出視窗的簡化版本。它包含“取消”和“確定”按鈕,使用者可以按下這些按鈕來觸發相應的函式。它返回一個承諾物件,當按下其中一個按鈕時,該物件將被解析。
控制器程式碼
.controller('MyCtrl', function($scope, $ionicPopup) {
// When button is clicked, the popup will be shown...
$scope.showConfirm = function() {
var confirmPopup = $ionicPopup.confirm({
title: 'Title',
template: 'Are you sure?'
});
confirmPopup.then(function(res) {
if(res) {
console.log('Sure!');
} else {
console.log('Not sure!');
}
});
};
})
HTML 程式碼
<button class = "button" ng-click = "showConfirm()">Add Popup Confirm</button>
下表解釋了可用於此彈出視窗的選項。
確認彈出視窗選項
| 選項 | 型別 | 詳情 |
|---|---|---|
| template | 字串 | 彈出視窗的內聯 HTML 模板。 |
| templateUrl | 字串 | HTML 模板的 URL。 |
| title | 字串 | 彈出視窗的標題。 |
| subTitle | 字串 | 彈出視窗的副標題。 |
| cssClass | 字串 | 彈出視窗的 CSS 類名。 |
| cancelText | 字串 | “取消”按鈕的文字。 |
| cancelType | 字串 | “取消”按鈕的 Ionic 按鈕型別。 |
| okText | 字串 | “確定”按鈕的文字。 |
| okType | 字串 | “確定”按鈕的 Ionic 按鈕型別。 |
使用警報彈出視窗
警報是一個簡單的彈出視窗,用於向用戶顯示警報資訊。它只有一個按鈕,用於關閉彈出視窗並解析彈出視窗的承諾物件。
控制器程式碼
.controller('MyCtrl', function($scope, $ionicPopup) {
$scope.showAlert = function() {
var alertPopup = $ionicPopup.alert({
title: 'Title',
template: 'Alert message'
});
alertPopup.then(function(res) {
// Custom functionality....
});
};
})
HTML 程式碼
<button class = "button" ng-click = "showAlert()">Add Popup Alert</button>
它將生成以下螢幕 -
下表顯示了可用於警報彈出視窗的選項。
警報彈出視窗選項
| 選項 | 型別 | 詳情 |
|---|---|---|
| template | 字串 | 彈出視窗的內聯 HTML 模板。 |
| templateUrl | 字串 | HTML 模板的 URL。 |
| title | 字串 | 彈出視窗的標題。 |
| subTitle | 字串 | 彈出視窗的副標題。 |
| cssClass | 字串 | 彈出視窗的 CSS 類名。 |
| okText | 字串 | “確定”按鈕的文字。 |
| okType | 字串 | “確定”按鈕的 Ionic 按鈕型別。 |
使用提示彈出視窗
可以使用 Ionic 建立的最後一個 Ionic 彈出視窗是 **提示**。它有一個“確定”按鈕,使用輸入中的值解析 promise,以及一個“取消”按鈕,使用未定義值解析。
控制器程式碼
.controller('MyCtrl', function($scope, $ionicPopup) {
$scope.showPrompt = function() {
var promptPopup = $ionicPopup.prompt({
title: 'Title',
template: 'Template text',
inputType: 'text',
inputPlaceholder: 'Placeholder'
});
promptPopup.then(function(res) {
console.log(res);
});
};
})
HTML 程式碼
<button class = "button" ng-click = "showPrompt()">Add Popup Prompt</button>
它將生成以下螢幕 -
下表顯示了可用於提示彈出視窗的選項。
提示彈出視窗選項
| 選項 | 型別 | 詳情 |
|---|---|---|
| template | 字串 | 彈出視窗的內聯 HTML 模板。 |
| templateUrl | 字串 | HTML 模板的 URL。 |
| title | 字串 | 彈出視窗的標題。 |
| subTitle | 字串 | 彈出視窗的副標題。 |
| cssClass | 字串 | 彈出視窗的 CSS 類名。 |
| inputType | 字串 | 輸入的型別。 |
| inputPlaceholder | 字串 | 輸入的佔位符。 |
| cancelText | 字串 | “取消”按鈕的文字。 |
| cancelType | 字串 | “取消”按鈕的 Ionic 按鈕型別。 |
| okText | 字串 | “確定”按鈕的文字。 |
| okType | 字串 | “確定”按鈕的 Ionic 按鈕型別。 |
廣告