我试图制作一个登录模块。我定义了一个cotroller,我试图从服务访问函数,我收到了一个ReferenceError:
ReferenceError:未定义Auth
控制器:
class NavbarController {
constructor($location) {
this.$location = $location;
this.isLoggedIn = Auth.isLoggedIn;
this.isAdmin = Auth.isAdmin;
this.getCurrentUser = Auth.getCurrentUser;
}
isActive(route) {
return route === this.$location.path();
}
}
angular.module('rideSharingApp')
.controller('NavbarController', NavbarController);
服务:
(function() {
function AuthService($location, $http, $cookies, $q, appConfig, Util, User) {
var safeCb = Util.safeCb;
var currentUser = {};
var userRoles = appConfig.userRoles || [];
if ($cookies.get('token') && $location.path() !== '/logout') {
currentUser = User.get();
}
var Auth = {
isLoggedIn: function(callback) {
if (arguments.length === 0) {
return currentUser.hasOwnProperty('role');
}
return Auth.getCurrentUser(null)
.then(function(user) {
var is = user.hasOwnProperty('role');
safeCb(callback)(is);
return is;
});
}
};
return Auth;
}
angular.module('rideSharingApp.auth')
.factory('Auth', AuthService);
})();
我不知道为什么会收到这个错误。我不太了解角度,所以你能帮我解决这个错误吗?
感谢。
答案 0 :(得分:1)
您未在“ NavbarController ”中传递“ Auth ”依赖关系... 在Controller的构造函数中传递Auth ....希望它能解决问题...
谢谢