AngularJS中依赖注入语法之间的差异

时间:2015-10-08 18:23:43

标签: angularjs dependency-injection

AngularJS支持两种略有不同的依赖注入

语法

语法1

myModule.controller('myCtrl', function($scope, $http, myService) {
    ...
    ...
});

语法2

myModule.controller('myCtrl', ['$scope', '$http', 'myService', function($scope, $http, myService) {
    ...
    ...
}]);


这两种语法之间是否存在根本区别? 何时使用两种语法中的任何一种?

1 个答案:

答案 0 :(得分:1)

语法2被称为类型提示,如果您打算uglify并破坏您的代码,angular仍然知道要注入哪些服务。

在破坏和丑陋之后:

myModule.controller('myCtrl', ['$scope', '$http', 'myService', function(a, b, c) {

Angular会读取所提供数组的字符串值,以便确定服务a, b, c的名称,以便正确地注入它们。