离子防止离开导航

时间:2015-10-28 07:52:46

标签: ionic-framework ionic

我有办法在离开视图之前阻止导航吗?我发现$ ionicView.beforeLeave事件,在离开视图之前调用,但我不知道如何停止导航。

2 个答案:

答案 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;
})