Ionic - JavaScript Popup

此服务用于在常规视图顶部创建弹出窗口,用于与用户交互。弹出窗口有四种类型,即 − showconfirmalertprompt

使用 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>

Ionic Popup Show

您可能注意到,在上述示例中使用了一些新选项。下表将解释所有这些选项及其用例。

显示弹出窗口选项

选项 类型 详细信息
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>

Ionic Popup Confirm

下表说明了可用于此弹出窗口的选项。

确认弹出窗口选项

选项 类型 详细信息
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>

它将产生以下屏幕 −

Ionic Popup Alert

下表显示了可用于警报弹出窗口的选项。

警报弹出窗口选项

选项 类型 详细信息
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>

它将产生以下屏幕 −

Ionic Popup Prompt

下表显示了可用于提示弹出窗口的选项。

提示弹出窗口选项

选项 类型 详细信息
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 按钮类型。