UI-路由器 - 在每次路由更改时运行功能 - 状态名称在哪里生效?

时间:2014-06-23 01:14:53

标签: angularjs angular-ui-router

使用Angularjs和UI-Router,尝试每次状态更改时运行一个函数

$rootScope.$on('$stateChangeStart',
        function(toState){
            if(toState !== 'login')
            UsersService.redirect();
        })

我把它放在.run()中,每次路由更改时我都可以成功注销到State。但是,我似乎无法找到具有我们要去的州名称的财产。如果有人能告诉我在哪里找到它,我想我应该保持良好状态。

1 个答案:

答案 0 :(得分:20)

结束了这个,它做了我想要的。

$rootScope.$on('$stateChangeStart',
        function(event, toState, toParams, fromState, fromParams){
            if(toState.name !== 'login' && !UsersService.getCurrentUser()) {
            event.preventDefault();
            $state.go('login');
            }
        });