我在缩小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) {
...
}]);
为什么第一个依赖注入技术适用于控制器而不是配置?
答案 0 :(得分:2)
这是因为app.config返回对应用程序的引用(用于链接)。此代码有效:
var config = function($routeProvider) {
$routeProvider
.when('/', {controller: 'PageCtrl', templateUrl: '../templates/home.html'})
.otherwise({redirectTo: '/'});
};
config.$inject = ['$routeProvider'];
app.config(config);