Ionic - JavaScript Popup
此服务用于在常规视图顶部创建弹出窗口,用于与用户交互。弹出窗口有四种类型,即 − show、confirm、alert 和 prompt。
使用 Show Popup
此弹出窗口是最复杂的。要触发弹出窗口,我们需要将 $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 | string | 弹出窗口的内联 HTML 模板。 |
templateUrl | string | HTML 模板的 URL。 |
title | string | 弹出窗口的标题。 |
subTitle | string | 弹出窗口的副标题。 |
cssClass | string | 弹出窗口的 CSS 类名。 |
scope | Scope | 弹出窗口的范围。 |
buttons | Array[Object] | 将放置在弹出窗口页脚中的按钮。它们可以使用自己的属性和方法。text显示在按钮顶部,type是用于按钮的 Ionic 类,onTap是点击按钮时将触发的函数。返回值将导致承诺使用给定值解析。 |
使用确认弹出窗口
确认弹出窗口是 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 | string | 弹出窗口的内联 HTML 模板。 |
templateUrl | string | HTML 模板的 URL。 |
title | string | 弹出窗口的标题。 |
subTitle | string | 弹出窗口的副标题。 |
cssClass | string | 弹出窗口的 CSS 类名。 |
cancelText | string | 取消按钮的文本。 |
cancelType | string | 取消按钮的 Ionic 按钮类型。 |
okText | string | 确定按钮的文本。 |
okType | string | 确定按钮的 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 | string | 弹出窗口的内联 HTML 模板。 |
templateUrl | string | HTML 模板的 URL。 |
title | string | 弹出窗口的标题。 |
subTitle | string | 弹出窗口的副标题。 |
cssClass | string | 弹出窗口的 CSS 类名。 |
okText | string | OK 按钮的文本。 |
okType | string | OK 按钮的 Ionic 按钮类型。 |
使用提示弹出窗口
可以使用 Ionic 创建的最后一个 Ionic 弹出窗口是 prompt。它有一个 OK 按钮,它使用来自输入的值解析承诺,还有一个 Cancel 按钮,它使用未定义的值解析承诺。
控制器代码
.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 | string | 弹出窗口的内联 HTML 模板。 |
templateUrl | string | HTML 模板的 URL。 |
title | string | 弹出窗口的标题。 |
subTitle | string | 弹出窗口的副标题。 |
cssClass | string | 弹出窗口的 CSS 类名。 |
inputType | string | 输入的类型。 |
inputPlaceholder | string | 输入的占位符。 |
cancelText | string | 取消按钮的文本。 |
cancelType | string | 取消的 Ionic 按钮类型按钮。 |
okText | string | OK 按钮的文本。 |
okType | string | OK 按钮的 Ionic 按钮类型。 |