1

在缩小我的 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) {
    ...
}]);

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

4

1 回答 1

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/

于 2013-06-20T09:40:28.697 回答