离子不同控制器的不同硬件后退按钮回调

时间:2016-06-12 08:46:14

标签: ionic-framework

我需要在不同控制器上的硬件后退按钮上执行不同的操作。我在每个控制器中使用了以下代码:

$ionicPlatform.onHardwareBackButton(function() {
   alert("click on hardware back button");
}

问题是当在一个控制器中使用registerBackButtonAction时,它似乎会覆盖所有控制器中的相同操作。 我知道我可以把这个代码放在app.run()并检查状态名称,但是我需要在单击后退按钮时访问某些控制器特定的属性(和函数),因此放入app.run对我来说不起作用。 / p>

任何人都可以帮我这个吗? 感谢

1 个答案:

答案 0 :(得分:0)

实际上你可以提一下你在registerBackButton里面的状态

看这里

$ionicPlatform.registerBackButtonAction(function(e) {
    //do your stuff
    if($state.current.name=="login") {
        console.log(e);
     e.preventDefault();
     alert('login');
     //navigator.app.exitApp();
    }
    else{

      $ionicHistory.goBack();
    }

    }, 101);

您可以在控制器内部使用上面的代码,并提及它应该工作的状态,以便您可以在其他部分执行您的操作,我希望您继续执行此操作。

有关详细信息,请查看此tutorial