0

我有一个需要访问服务的控制器。如果我只是简单地将服务作为参数添加到我的控制器的构造函数中,它工作得很好,但是如果我尝试用 $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 注释的最后一行代码中引发。

4

1 回答 1

1

您缺少一个=

MainController.$inject = ['$rootScope', '$location', 'User'];
于 2013-04-17T16:39:31.917 回答