如何在angularjs中的app.config中注入依赖项?

时间:2013-06-20 09:14:56

标签: javascript angularjs dependency-injection url-routing

我在缩小AngularJS应用程序时遇到了错误,因为手动注入的依赖项无法实现我的预期。以下不起作用:

var config = app.config(function($routeProvider) {
    $routeProvider
        .when('/', {controller: 'PageCtrl', templateUrl: '../templates/home.html'});
        .otherwise({redirectTo: '/'});
});
config.$inject = ['$routeProvider'];

唯一有效的是:

app.config(['$routeProvider', function($routeProvider) {
    ...
}]);

为什么第一个依赖注入技术适用于控制器而不是配置?

1 个答案:

答案 0 :(得分:2)

这是因为app.config返回对应用程序的引用(用于链接)。此代码有效:

var config = function($routeProvider) {
    $routeProvider
        .when('/', {controller: 'PageCtrl', templateUrl: '../templates/home.html'})
        .otherwise({redirectTo: '/'});
};

config.$inject = ['$routeProvider'];
app.config(config);

http://jsfiddle.net/ADukg/3196/