ng-strict-di

关于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 这个指令的作用就是:可以强制使用这种标准的注入写法(如果不这样写,就是直接报错)。

如有错误,请您指正!

原文地址:https://www.cnblogs.com/ksl666/p/6006820.html