Ionic framework 爱奥尼亚:如何覆盖后退按钮功能?
我需要覆盖两个按钮的后退按钮功能:Ionic framework 爱奥尼亚:如何覆盖后退按钮功能?,ionic-framework,ionic,Ionic Framework,Ionic,我需要覆盖两个按钮的后退按钮功能: 导航栏左上角的back图标 硬件后退按钮(例如在android中) 但仅针对一个特定视图,而不是全局视图。我该怎么做呢?这段代码是针对android按钮的,而导航栏上的按钮更简单一些: 安卓按钮: $ionicPlatform.registerBackButtonAction(function (event) { if($state.current.name=="home"){ alert("button back"); } }, 100)
- 导航栏左上角的back图标
- 硬件后退按钮(例如在android中)
但仅针对一个特定视图,而不是全局视图。我该怎么做呢?这段代码是针对android按钮的,而导航栏上的按钮更简单一些: 安卓按钮:
$ionicPlatform.registerBackButtonAction(function (event) {
if($state.current.name=="home"){
alert("button back");
}
}, 100);
离子按钮:
$ionicPlatform.registerBackButtonAction(function (event) {
if($state.current.name=="home"){
alert("button back");
}
}, 100);
您可以编辑主题并查看如何定义菜单和视图?可以从控制器中覆盖两个按钮的后退按钮功能。以下是代码:
//按下硬后退按钮或软后退按钮时运行此功能
var doCustomBack=函数(){
控制台日志(“自定义备份”);
};
//覆盖软背
//按下软后退按钮时,框架调用$rootScope.$ionicGoBack
var oldsofback=$rootScope.$ionicGoBack;
$rootScope.$ionicGoBack=function(){
doCustomBack();
};
var deregisterSoftBack=函数(){
$rootScope.$ionicGoBack=oldSoftBack;
};
//覆盖硬背
//registerBackButtonAction()返回一个可用于取消注册的函数
var deregisterHardBack=$ionicPlatform.registerBackButtonAction(
doCustomBack,101
);
//取消自定义返回行为
$scope.$on(“$destroy”,函数(){
注销精装本();
注销软回();
});
确保将$rootScope
注入控制器
有关更多详细信息和适当解释,请参阅我在相关问题上的完整答案: