Ionic 对话框服务使用教程

Viewed 0

Ionic 对话框

Ionic 对话框服务允许程序创建和显示弹出窗口。$ionicPopup 服务提供了三个主要方法:alert(), prompt(), 和 confirm()。

实例

以下是一个完整的示例,展示如何使用 $ionicPopup。

HTML 代码

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

JavaScript 代码

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');
        });
    };
});

这个示例展示了如何创建自定义弹窗、确认对话框和警告框。

0 Answers