угловое разрешениеJS $ routeChangeStart и $ stateChangeSuccess - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь сделать разрешение с $routeChangeStart в угловом JS, но это не работает.То, что я предполагаю сделать, это заставить $routeChangeStart работать с $stateChangeSuccess:

angular.module('app').run(['$rootScope','$location', '$state', '$stateParams', 'loginService', 
  function($rootScope, $location, $state, $stateParams, loginService) {
    $rootScope.$state = $state;
    $rootScope.$stateParams = $stateParams;
    var routespermission=['/'];
    $rootScope.$on('$routeChangeStart', function(){     
        alert('testing');
        console.log('>>exit tab: '+routespermission.index0f($location.path()));
        console.log('>>logged:' +loginService.islogged());
        if(routespermission.index0f($location.path()) !=-1 && !loginService.islogged()){
            $location.path('/login');
        }
    });
    $rootScope.$on('$stateChangeSuccess', function() {
        window.scrollTo(0, 0);
        console.log('testing');
    });
    FastClick.attach(document.body);

  },
])

1 Ответ

0 голосов
/ 17 ноября 2018

UI-Router, я хочу, чтобы код мог использовать на UI-Router

Использовать $stateChangeStart вместо $routeChangeStart:

app.run(function($rootScope, $location, $state, $stateParams, loginService) {
    $rootScope.$state = $state;
    $rootScope.$stateParams = $stateParams;
    var routespermission=['/'];
    ̶$̶r̶o̶o̶t̶S̶c̶o̶p̶e̶.̶$̶o̶n̶(̶'̶$̶r̶o̶u̶t̶e̶C̶h̶a̶n̶g̶e̶S̶t̶a̶r̶t̶'̶,̶ ̶f̶u̶n̶c̶t̶i̶o̶n̶(̶)̶{̶ ̶
    $rootScope.$on('$stateChangeStart', function(){     
        alert('testing');
        console.log('>>exit tab: '+routespermission.index0f($location.path()));
        console.log('>>logged:' +loginService.islogged());
        if(routespermission.index0f($location.path()) !=-1 && !loginService.islogged()){
            $location.path('/login');
        }
    });
    $rootScope.$on('$stateChangeSuccess', function() {
        window.scrollTo(0, 0);
        console.log('testing');
    });
    FastClick.attach(document.body);
})

Для получения дополнительной информации см. UI-Router 0.3.1 Api Reference - $ state .


События StateChange объявлены устаревшими для ui.router >= 1.0.

Для получения дополнительной информации см. Событие StateChangeSuccess маршрутизатора пользовательского интерфейса не вызывает .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...