auth 未定义 - ui-router & Auth0
auth is undefined - ui-router & Auth0
我将 auth0 与 ui-router 一起使用。加载默认路由后,我可以看到 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');
}
}
}
});
});
当您使用显式注释时(您应该这样做),您需要显式定义所有参数。因此,将 'auth'
添加到该列表中:
module.controller('login', ['$scope', 'auth', function($scope, auth) {
..}]);
我将 auth0 与 ui-router 一起使用。加载默认路由后,我可以看到 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');
}
}
}
});
});
当您使用显式注释时(您应该这样做),您需要显式定义所有参数。因此,将 'auth'
添加到该列表中:
module.controller('login', ['$scope', 'auth', function($scope, auth) {
..}]);