2015-10-28 1 views
0

У меня есть способ предотвратить навигацию, прежде чем покинуть представление? Я нашел событие $ ionicView.beforeLeave, которое вызывается перед выходом из представления, но я не знаю, как остановить навигацию.Ионный предотвращать навигацию в отпуске

ответ

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; 
}) 
0

Ионный каркас использует угловые UI-маршрутизаторы, события разгона маршрутизатора UI до и после изменения состояний. Может быть stateChangeStart поможет вам.

Для получения дополнительной информации и реализации, обратитесь к documentation пожалуйста,

Смежные вопросы