我是angular的新手,想知道为什么和何时应该两次注入所有需要的依赖项。
范例:
var analysisApp=angular.module('analysisApp',[]); analysisApp.controller('analysisController',function($scope,$http,$cookies,$state,globalService){ });
但是我们也可以将以上代码编写为:
var analysisApp=angular.module('analysisApp',[]); analysisApp.controller('analysisController',['$scope','$http','$cookies','$state','globalService',function($scope,$http,$cookies,$state,globalService){ }]);
为什么呢
这是为了使应用程序具有 最小安全性 。
小心:如果您打算压缩代码,则您的依赖项名称将被重命名并破坏您的应用程序。
当你将(或 可能 ),再压缩所有文件,依赖由像改为a,b,…等等。
a
b
但是,当您使用数组和类似字符串的语法时,如第二个片段所示,string它们永远不会最小化,可以用于映射。因此,应用程序知道了这a一点$scope(请参见下面的示例)。
string
$scope
例:
// The minified version var _ = angular.module('analysisApp', []); _.controller('analysisController', ['$scope', '$http', '$cookies', '$state', 'globalService', function (a, b, c, d, e) { a.name = 'John Doe'; // Now a here is `$scope`. }]);
查看角度文档
这是一篇很好的文章,介绍了如何通过Grunt使您的应用成为最低安全要求。