美文网首页
ionic 对系统返回键的处理

ionic 对系统返回键的处理

作者: 菠菜盼娣 | 来源:发表于2018-11-28 08:41 被阅读0次

    点击手机自带返回键退出系统。

    ap.js中需要依赖注入 $ionicPopup  $rootScope $location $ionicHistory  $ionicViewSwitcher

    $ionicPlatform.ready中使用

    ```

    $ionicPlatform.registerBackButtonAction(function(e){

        /*用一个变量来控制界面上是否已经存在popup,多次点击的时候如果存在就不再提示*/

        $rootScope.popup = {

            isPopup: false,

            index: 0

        };

        function showConfirm(){

          var confirmPopup= $ionicPopup.confirm({

            title:"<strong>退出应用?</strong>",

            template:"你确定要退出污染源监测吗?",

            okText:"确定",

            cancelText:"取消"

          });

          $rootScope.popup.isPopup=true;

          confirmPopup.then(function(res){

            if(res){

              ionic.Platform.exitApp();

            }

          })

        }

        /*根据首页的路由判断是否提示退出*/

        // if($location.path() =="/tab/home"||$location.path() =="/tab/Signout"||$location.path() =="/slide"){

        if($location.path() =="/tab/home"||$location.path() =="/tab/Signout"){

          if(!$rootScope.popup.isPopup){

            showConfirm();

          }

        }else if($location.path() =="/slide"){

          window.plugins.appMinimize.minimize()  //使页面最小化

        }

        // else if($ionicHistory.backView()){

        //  $ionicHistory.goBack();//back到之前的路由

        //  $ionicViewSwitcher.nextDirection("back");//增加切换的样式

        // }else{

        //  showConfirm();

        // }

        if($location.path() =="/slide"){

          window.plugins.appMinimize.minimize()  //使页面最小化

        }

        return false;

    },200);//501表示优先级  100~999之间    在app 中 弹出框也是点击返回键隐藏的  此时 修改优先级为301

    ```

    ionic在底层源码中定义了物理返回按键的事件处理优先级的:

    var PLATFORM_BACK_BUTTON_PRIORITY_VIEW = 100; 

    var PLATFORM_BACK_BUTTON_PRIORITY_SIDE_MENU = 150; 

    var PLATFORM_BACK_BUTTON_PRIORITY_MODAL = 200; 

    var PLATFORM_BACK_BUTTON_PRIORITY_ACTION_SHEET = 300; 

    var PLATFORM_BACK_BUTTON_PRIORITY_POPUP = 400; 

    var PLATFORM_BACK_BUTTON_PRIORITY_LOADING = 500;

    [actionId]

    返回上个视图=100;

    关闭侧栏菜单=150;

    关闭Modal=200;

    关闭 action sheet=300;

    关闭popup=400;

    关闭loading=500;

    registerBackButtonAction(callback, priority, [actionId])

    相关文章

      网友评论

          本文标题:ionic 对系统返回键的处理

          本文链接:https://www.haomeiwen.com/subject/koxnqqtx.html