Angular中依赖注入的不同方式

时间:2015-01-08 16:35:08

标签: angularjs dependency-injection

在数组中定义控制器依赖项的区别是什么:

app.controller('IndexController', ['$rootScope', '$http', function($rootScope, $http) {
    //some cool stuff
}]);

并将它们直接注入到函数中:

app.controller('IndexController', function($rootScope, $http) {
    //some cool stuff
});

很多帖子和教程都使用较短的版本,所以我想知道第一种方式是否有任何优势。

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您使用某些缩小工具(例如uglify),则必须执行此操作。这些工具会更改变量的名称,例如:

app.controller('IndexController', function($rootScope, $http) {
    //some cool stuff
});

变成类似的东西:

randomVariable.controller('IndexController',function(a, b){});

并且ab不是您的依赖项。

在另一种情况下,缩小的代码变为:

app.controller('IndexController',['$rootScope','$http',function(a,b)

此处ab作为参数传递来自两个值的字符串,因此缩小工具无法修改它们