在之前学习AngularJS的过程中,都是用到了显式依赖注入,比如:
1
2
3
4
5
6
|
<
script
type
=
"text/javascript"
>
angular.module('app', [])
.controller('Controller1', function($scope) {
$scope.something = 'hello world';
});
</
script
>
|
依赖注入$scope。这么写有个弊端,在发布的时候,往往要压缩JavaScript代码,压缩时,会替换掉变量名。比如$scope会替换成长度更小的a,但是$scope这个名字又是不能改动的,否则会无法识别。所以这种隐式的依赖注入方法不好。
AngularJS提倡用以下这种方法:
1
2
3
4
5
6
|
<
script
type
=
"text/javascript"
>
angular.module('app', [])
.controller('Controller1', ['$scope', function(parm){
parm.something = 'hello world';
}]);
</
script
>
|
这种方法是显式的依赖注入,把$scope当作一个字符串,则压缩时不会被替换掉,随便命名一个参数parm,在函数体中运用时同名即可。
不仅是controller,其它需要依赖注入的地方都提倡用显式的方法。
本文转自 iampomelo 51CTO博客,原文链接:http://blog.51cto.com/iampomelo/1669345,如需转载请自行联系原作者