【发布时间】:2018-06-02 03:42:21
【问题描述】:
当应用程序更改路由时,我的 AngularJs 运行块不会执行处理程序函数,至少我是这么认为的。我尝试放置一个简单的控制台日志进行测试,但它没有记录任何内容。最终目标是成为一个路由拦截器,检查路由是否需要身份验证。
github 仓库链接https://github.com/guilinden/authenticatedCRUD
(function(){
angular
.module('app')
.run(function ($rootScope, $location) {
$rootScope.$on('$stateChangeStart', function (event, toState, toParams) {
var requireLogin = toState.data.requireLogin;
if(requireLogin){
event.preventDefault();
$location.path('/home');
}
});
});
})();
【问题讨论】:
-
考虑修复:
.module('app', []) -
任何控制台错误?
-
问题应包含 stackoverflow.com/help/mcve ,其中 M 代表最小。
run一定要执行,否则控制台会报错。 -
请删除不再有效或不再需要的 cmets。
标签: angularjs angular-ui-router