在之前学习AngularJS的过程中,都是用到了显式依赖注入,比如:
<script type="text/javascript"> angular.module(‘app‘, []) .controller(‘Controller1‘, function($scope) { $scope.something = ‘hello world‘; }); </script>
依赖注入$scope。这么写有个弊端,在发布的时候,往往要压缩JavaScript代码,压缩时,会替换掉变量名。比如$scope会替换成长度更小的a,但是$scope这个名字又是不能改动的,否则会无法识别。所以这种隐式的依赖注入方法不好。
AngularJS提倡用以下这种方法:
<script type="text/javascript"> angular.module(‘app‘, []) .controller(‘Controller1‘, [‘$scope‘, function(parm){ parm.something = ‘hello world‘; }]); </script>
这种方法是显式的依赖注入,把$scope当作一个字符串,则压缩时不会被替换掉,随便命名一个参数parm,在函数体中运用时同名即可。
不仅是controller,其它需要依赖注入的地方都提倡用显式的方法。
时间: 2024-10-06 20:11:35