Angular中不同的依赖注入方式
Different way of dependency injection in Angular
在数组中定义控制器的依赖有什么不同:
app.controller('IndexController', ['$rootScope', '$http', function($rootScope, $http) {
//some cool stuff
}]);
然后像这样将它们直接注入到函数中:
app.controller('IndexController', function($rootScope, $http) {
//some cool stuff
});
很多帖子和教程都使用较短的版本,所以我想知道第一种方式是否有任何优势。
谢谢!
如果您使用一些缩小工具,例如uglify
,这是必要的。这些工具会更改变量的名称,例如:
app.controller('IndexController', function($rootScope, $http) {
//some cool stuff
});
变成类似:
randomVariable.controller('IndexController',function(a, b){});
并且 a
和 b
不是您的依赖项。
在另一种情况下,缩小后的代码变成这样:
app.controller('IndexController',['$rootScope','$http',function(a,b)
这里 a
和 b
作为两个字符串的参数传递,它们是值,因此它们不能被缩小工具修改
在数组中定义控制器的依赖有什么不同:
app.controller('IndexController', ['$rootScope', '$http', function($rootScope, $http) {
//some cool stuff
}]);
然后像这样将它们直接注入到函数中:
app.controller('IndexController', function($rootScope, $http) {
//some cool stuff
});
很多帖子和教程都使用较短的版本,所以我想知道第一种方式是否有任何优势。
谢谢!
如果您使用一些缩小工具,例如uglify
,这是必要的。这些工具会更改变量的名称,例如:
app.controller('IndexController', function($rootScope, $http) {
//some cool stuff
});
变成类似:
randomVariable.controller('IndexController',function(a, b){});
并且 a
和 b
不是您的依赖项。
在另一种情况下,缩小后的代码变成这样:
app.controller('IndexController',['$rootScope','$http',function(a,b)
这里 a
和 b
作为两个字符串的参数传递,它们是值,因此它们不能被缩小工具修改