auth未定义 - ui-router& Auth0

时间:2015-01-06 10:47:55

标签: angularjs angular-ui-router

我正在使用uh-router的auth0。加载默认路由时,我可以看到auth对象已定义并包含方法。当我尝试访问控制器内的值时,我收到一个未定义的错误。与控制器共享此对象和可重用对象的最佳方法是什么?

! - 控制器

module.controller('login', ['$scope', function($scope,auth) {

!---

}).run(function($rootScope, auth, store, jwtHelper, $state, $stateParams) {

    $rootScope.$on('$locationChangeStart', function() {
        if (!auth.isAuthenticated) {
            var token = store.get('token');
            if (token) {
                if (!jwtHelper.isTokenExpired(token)) {
                    auth.authenticate(store.get('profile'), token);
                } else {
                    $state.go('login');
                }
            }
        }

    });

});

1 个答案:

答案 0 :(得分:1)

当您使用显式注释时(如您所愿),您需要显式定义所有参数。因此,请将'auth'添加到该列表中:

module.controller('login', ['$scope', 'auth', function($scope, auth) {
..}]);