Javascript AngularJS注入工厂进入控制器奇怪错误
我读过很多关于stackoverflow的帖子,其中没有一篇真的很有帮助。 我有一个奇怪的情况,我需要将工厂注入控制器和 一切似乎都很正常,但都不起作用 这里是工厂:Javascript AngularJS注入工厂进入控制器奇怪错误,javascript,angularjs,Javascript,Angularjs,我读过很多关于stackoverflow的帖子,其中没有一篇真的很有帮助。 我有一个奇怪的情况,我需要将工厂注入控制器和 一切似乎都很正常,但都不起作用 这里是工厂: zimmerApp.factory('AuthService', [function ($http, $sanitize) { var sanitizeCredentials = function (credentials) { return { email: $sanitize(credentials.e
zimmerApp.factory('AuthService', [function ($http, $sanitize) {
var sanitizeCredentials = function (credentials) {
return {
email: $sanitize(credentials.email),
password: $sanitize(credentials.password),
csrf_token: credentials.csrf_token
};
};
return {
login: function (credentials) {
var login = $http.post("/login", sanitizeCredentials(credentials));
login.success(cacheSession);
login.error(loginError);
return login;
}
};
}]);
我需要在其中使用AuthService的控制器是:
zimmerApp.controller('loginCtrl', ['$scope', 'AuthService',
function ($scope, $location, AuthService) {
var xhReq = new XMLHttpRequest();
xhReq.open("GET", "http://" + window.location.hostname + ":8000/auth/token", false);
xhReq.send(null);
$scope.error = false
$scope.credentials = {
username: '',
password: '',
csrf_token: xhReq.responseText
};
$scope.login = function (credentials) {
AuthService.login($scope.credentials)
.success(function () {
$location.path('/');
})
.error(function (err) {
console.log('error')
});
}
}]);
我得到的错误是 TypeError:无法读取未定义的属性“login” 因此,出于某种原因,它似乎无法识别AuthService factory
有人知道我能做些什么来解决这个问题吗,我真的不知道了。正在注入的参数与函数中的参数不匹配 更改:
zimmerApp.controller('loginCtrl',
['$scope', 'AuthService',
function ($scope, $location, AuthService) {
致:
但我不喜欢使用注入阵列:
zimmerApp.controller('loginCtrl',
function ($scope, $location, AuthService) {
不使用注入数组是可以的,除非你缩小/丑化你的代码,这是一个不使用数组的好提示。这将是非常有用的。这就是为什么很棒的人制作了像grunt ng annotate这样的东西,这样你就可以在压缩代码之前添加这些注释了。我不知道,我还是个新手,所以我不太了解那些让生活更轻松的酷libs。
zimmerApp.controller('loginCtrl',
function ($scope, $location, AuthService) {