Angularjs run(AngularJS应用中第一个被执行的方法)

Angularjs run(AngularJS应用中第一个被执行的方法)
1.运行块
2.和配置块不同,运行块在注入器创建之后被执行,它是所有AngularJS应用中第一个被执行的方法。
3.运行块通常用来注册全局的事件监听器

假设我们需要在每次路由发生变化时,都执行一个函数来验证用户的权限,放置这个功能唯一合理的地方就是run方法
angular.module('myApp', ['ngRoute'])
.run(function($rootScope, AuthService) {
    $rootScope.$on('$routeChangeStart', function(evt, next, current) {
        // 如果用户未登录
        if (!AuthService.userLoggedIn()) {
            if (next.templateUrl === "login.html") {
                // 已经转向登录路由因此无需重定向
            } else {
                $location.path('/login');
            }
        }
    });
});

猜你喜欢

转载自huangyongxing310.iteye.com/blog/2324181
今日推荐