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

How to inject dependencies in app.config in angularjs?

本文关键字:config 注入 依赖 app angularjs      更新时间:2023-09-26

在最小化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) {
    ...
}]);

为什么第一个依赖注入技术对控制器而不是配置工作?

这是因为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/