我知道角度中有$stateChangeStart
函数可以执行以下操作。
$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
});
然而,我正在开发一种离子v1应用程序,其中我想使用更直观的方式,即离子生命周期。我想知道是否有可能在toState
中获得toParams
和$ionicView.beforeLeave
,因为我无法找到有关此问题的任何文档。例如:
$rootScope.$on('$ionicView.beforeLeave', function (event, toState, toParams) {
});
答案 0 :(得分:1)
离子$ ionicView.beforeLeave事件可以带有2个参数的函数。从你只能从州获得的论证来看,它不会让你说明。
$rootScope.$on("$ionicView.beforeLeave", function(event, data){
// handle event
console.log("Event: ", event);
console.log("Data: ", data);
})
答案 1 :(得分:0)
所以我不得不使用全局状态监听器,并对下面的视图进行硬编码:
$rootScope.$on('$stateChangeStart', function(e, toState, toParams, fromState, fromParams) {
var states_hidetab = [ 'app.shoppingcart',
'app.home-product',
'app.payment',
'app.shipping',
'app.review-order',
'app.points'
];
$rootScope.hideTabs = states_hidetab.includes(toState.name);
});