ionic 弹窗(alert, confirm)

直接上代码吧,不解释了

控制器:

angular.module('app.controllers', [])
.controller('categoryCtrl', ['$scope', '$http', '$stateParams','$ionicLoading','$ionicPopup',
function ($scope, $http, $stateParams, $ionicLoading, $ionicPopup) {
    window.$ionicPopup = $ionicPopup;

    $scope.test     = function(){
        alert('什么鬼??', function(){
            alert('神经病啊!', function(){
                confirm('你的傻的么?', function(){
                    alert('看来是啊。');
                }, function(){
                    show("<p style='text-align:center;'>你说你怎么不是傻的?</p><p><input type='text'></p>", {title:'你484傻的?', cancelText:'我承认了', okText:'我不是!', success:function(){
                        alert("唉哟,不错哦","好像有点道理wo~");
                    }});
                });
            });
        });
    }
}])

common.js:

function show(the_template, params){
    var the_title         = params.title || '';
    var the_subtitle    = params.subtitle || '';
    var timeout         = params.timeout;
    var the_cancelText  = params.cancelText || '取消';
    var the_okText       = params.okText || '确定';

    var myPopup = window.$ionicPopup.show({
        template: the_template,
        title: the_title,
        subTitle: the_subtitle,
        buttons:[
            {
                text:the_cancelText,
                onTap:function(){
                    return false;
                }
            },
            {
                text:the_okText,
                type:'button-positive',
                onTap:function(){
                    return true;
                }
            }
        ]
    });
    myPopup.then(function(res) {
        if(res) {
            if(params.success) params.success(res);
        } else {
            if(params.error) params.error(res);
        }
    });

    if(timeout){
        window.setTimeout(function(){
            myPopup.close();
        }, timeout);
    }
}

function alert(the_title, the_content, the_callback){
    if(typeof(the_content)!='string'){
        the_callback = the_content;
        the_content  = the_title;
        the_title     = '系统提示';
    }

    if(typeof(the_content)!='string'){
        the_callback = the_content;
        the_content  = the_title;
        the_title     = '系统提示';
    }

    var alertPopup = window.$ionicPopup.alert({
        title: the_title,
        template: the_content,
        okText: '确定'
    });

    alertPopup.then(function(res) {
        if(the_callback) the_callback(res);
    });
}

function confirm(the_content, mixed, mixed2){
    var params = {};
    if(typeof(mixed)=='function'){
        params.success     = mixed;
        params.error     = mixed2;
    }else{
        params             = mixed; 
    }

    if(!params.title) params.title = '请确认?';
    show(the_content, params);
}

官方文档:http://ionicframework.com/docs/api/service/$ionicPopup/

原文地址:https://www.cnblogs.com/tujia/p/6209147.html