我正在使用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');
}
}
}
});
});
答案 0 :(得分:1)
当您使用显式注释时(如您所愿),您需要显式定义所有参数。因此,请将'auth'
添加到该列表中:
module.controller('login', ['$scope', 'auth', function($scope, auth) {
..}]);