【问题标题】:How to disable device back button in nested views in Ionic Framework? v1如何在 Ionic Framework 的嵌套视图中禁用设备后退按钮? v1
【发布时间】:2018-02-04 23:06:19
【问题描述】:

如何在 Ionic Framework v1 的嵌套视图中禁用设备后退按钮?

我已经试过了

$ionicPlatform.registerBackButtonAction(function (e) {
    if ($ionicHistory.currentView().stateName == 'main.homeState' ) {
            e.stopPropagation();
            e.preventDefault();
            navigator.app.exitApp();
        }
        else {
            e.preventDefault();
            e.stopPropagation();
        }
    }, 100);

但问题在于它仅适用于根级别视图,即如果在我的情况下是 homeState 的根视图,则应用程序将关闭,但在任何其他嵌套视图上,后退按钮不会被禁用。

实际上我有 3 个嵌套视图。 state1 是根视图 state2 是 state1 的子视图,state3 是 state2 的子视图。现在,如果使用应用程序后退按钮或设备后退按钮从状态 3 返回,一切正常。但是,如果我使用应用程序的后退按钮从 state3 回到 state2,然后按下设备后退按钮而不是转到根视图状态 1。它会再次导航到状态 3。

【问题讨论】:

    标签: cordova ionic-framework back-button phonegap


    【解决方案1】:

    将此代码用于$ionicPlatform.ready,它将禁用android后退按钮并单击。

    document.addEventListener('backbutton', function(){
       return false;
    }); 
    

    【讨论】:

      猜你喜欢
      • 2018-04-05
      • 2016-09-14
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      • 2019-05-14
      • 1970-01-01
      • 2019-09-01
      相关资源
      最近更新 更多