Has*_*ain 10 javascript dependency-injection angularjs
我是角色的新手,想要知道为什么以及何时应该两次注入所有需要的依赖项.
示例:
var analysisApp=angular.module('analysisApp',[]);
analysisApp.controller('analysisController',function($scope,$http,$cookies,$state,globalService){
});
Run Code Online (Sandbox Code Playgroud)
但我们也可以将上面的代码写成:
var analysisApp=angular.module('analysisApp',[]);
analysisApp.controller('analysisController',['$scope','$http','$cookies','$state','globalService',function($scope,$http,$cookies,$state,globalService){
}]);
Run Code Online (Sandbox Code Playgroud)
为什么?
Tus*_*har 13
这是为了使应用程序安全.
小心:如果您计划缩小代码,您的依赖项名称将被重命名并破坏您的应用程序.
当你将(或可能),再压缩所有文件,依赖由像改为a,b,...等等.
但是,当您使用数组和字符串之类的语法时,如第二个片段所示,string它们永远不会缩小并可用于映射.所以,应用程序知道这a是$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`.
}]);
Run Code Online (Sandbox Code Playgroud)
请参阅Angular Docs
这里有一篇很好的文章,让你的应用程序与Grunt minsafe.
| 归档时间: |
|
| 查看次数: |
1174 次 |
| 最近记录: |