我有办法在离开视图之前阻止导航吗?我发现$ ionicView.beforeLeave事件,在离开视图之前调用,但我不知道如何停止导航。
答案 0 :(得分:0)
Ionic框架在更改状态之前和之后使用角度UI路由器,UI路由器火灾事件。可能是 stateChangeStart 会帮助你。
有关详情和实施,请参阅documentation
答案 1 :(得分:0)
感谢用户......我已使用此代码解决了问题:
$scope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
if(isViewDirty() && !$scope.ignoreDirty){
event.preventDefault();
var confirmPopup = $ionicPopup.confirm({
title: 'Leave Page',
template: 'Are you sure?'
});
confirmPopup.then(function(res) {
if(res) {
$scope.ignoreDirty = true; //Prevent loop
$state.go(toState, toParams);
}
});
}
});
$rootScope.$on('$stateChangeSuccess', function(){
$scope.ignoreDirty = false;
})