我有一个需要访问服务的控制器。如果我只是简单地将服务作为参数添加到我的控制器的构造函数中,它工作得很好,但是如果我尝试用 $inject 注释参数,这样我以后在最小化 javascript 时不会遇到问题,我得到以下异常:“无法读取未定义的属性‘用户’”
一切仍然正常,但我不明白异常来自哪里。
该服务的代码是:
var myAppServices = angular.module('myApp.services', []);
myAppServices.factory('User', function(){
var user = {
name:"anonymous",
id: -1,
authorized:false
};
return user;
});
控制器看起来像这样:
function MainController($rootScope, $location, User){
$rootScope.$on("$routeChangeStart", function (event, current, previous){
console.log(User);
if(User.authorized === false && current.templateUrl !== 'partials/partial1.html'){
console.log("returning false")
$location.path('/view1');
return false;
}
});
}
MainController.$inject['$rootScope', '$location', 'User'];
异常在上面调用 $inject 注释的最后一行代码中引发。