我需要在不同控制器上的硬件后退按钮上执行不同的操作。我在每个控制器中使用了以下代码:
$ionicPlatform.onHardwareBackButton(function() {
alert("click on hardware back button");
}
问题是当在一个控制器中使用registerBackButtonAction时,它似乎会覆盖所有控制器中的相同操作。 我知道我可以把这个代码放在app.run()并检查状态名称,但是我需要在单击后退按钮时访问某些控制器特定的属性(和函数),因此放入app.run对我来说不起作用。 / p>
任何人都可以帮我这个吗? 感谢
答案 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