ionic 对话框服务允许程序创建、显示弹出窗口。
$ionicPopup 提供了3个方法:alert(), prompt(),以及 confirm() 。
- <body class="padding" ng-controller="PopupCtrl">
- <button class="button button-dark" ng-click="showPopup()">
- 弹窗显示
- </button>
- <button class="button button-primary" ng-click="showConfirm()">
- 确认对话框
- </button>
- <button class="button button-positive" ng-click="showAlert()">
- 警告框
- </button>
- <script id="popup-template.html" type="text/ng-template">
- <input ng-model="data.wifi" type="text" placeholder="Password">
- </script>
- </body>
- angular.module('mySuperApp', ['ionic'])
- .controller('PopupCtrl',function($scope, $ionicPopup, $timeout) {
- // Triggered on a button click, or some other target
- $scope.showPopup = function() {
- $scope.data = {}
- // 自定义弹窗
- var myPopup = $ionicPopup.show({
- template: '<input type="password" ng-model="data.wifi">',
- title: 'Enter Wi-Fi Password',
- subTitle: 'Please use normal things',
- scope: $scope,
- buttons: [
- { text: 'Cancel' },
- {
- text: '<b>Save</b>',
- type: 'button-positive',
- onTap: function(e) {
- if (!$scope.data.wifi) {
- // 不允许用户关闭,除非输入 wifi 密码
- e.preventDefault();
- } else {
- return $scope.data.wifi;
- }
- }
- },
- ]
- });
- myPopup.then(function(res) {
- console.log('Tapped!', res);
- });
- $timeout(function() {
- myPopup.close(); // 3秒后关闭弹窗
- }, 3000);
- };
- // confirm 对话框
- $scope.showConfirm = function() {
- var confirmPopup = $ionicPopup.confirm({
- title: 'Consume Ice Cream',
- template: 'Are you sure you want to eat this ice cream?'
- });
- confirmPopup.then(function(res) {
- if(res) {
- console.log('You are sure');
- } else {
- console.log('You are not sure');
- }
- });
- };
- // alert(警告) 对话框
- $scope.showAlert = function() {
- var alertPopup = $ionicPopup.alert({
- title: 'Don\'t eat that!',
- template: 'It might taste good'
- });
- alertPopup.then(function(res) {
- console.log('Thank you for not eating my delicious ice cream cone');
- });
- };
- });