关于AngularJS中的ng-strict-di:
首先我们要知道“注入”的概念:
在Angular中,如果想使用模块中的内容,只需要提供它的名称即可,不需自己查找、创建、初始化等等,就可以直接得到并使用。这种通过提供名称获得对象/函数/值等内容的过程叫做“注入”。
但是!因为JS代码压缩(Grunt/Uglify)的时候,参数的名字会被压缩成一个字母,导致参数的名字发生变化,从而使“注入”失败。
所以Angular推荐使用下面的方式使用模块中的内容即将名称写在函数之前,并将名称和函数都放在一个数组中:
1 app.controller('GZController', 2 ['$scope', '$rootScope', '$filter', 'wrapFilter', 'GZ', 3 function($scope, $rootScope, $filter, wrapFilter, GZ){......}
而使用 ng-strict-di 这个指令的作用就是:可以强制使用这种标准的注入写法(如果不这样写,就是直接报错)。
如有错误,请您指正!