2015-10-08 5 views
0

AngularJS поддерживает два несколько различных синтаксисы для инъекций зависимостейРазница между синтаксисами инъекций зависимостей в AngularJS

Синтаксис 1

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

Синтаксис 2

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


Существует ли принципиальное отличие двух синтаксисов?
Когда использовать любой из двух синтаксисов?

+0

это было задано много раз и объяснено в документации – charlietfl

+0

Взгляните на [это] (http://stackoverflow.com/questions/28410706/difference-between-two-ways-of-injecting-modules- in-angle/28410903 # 28410903) ответ. – dfsq

+0

DI Docs https://docs.angularjs.org/guide/di – charlietfl

ответ

1

Синтаксис 2 называется тип намека, если вы планируете угадать и калечить свой код, угловые все равно будут знать, какие услуги нужно вводить.

После коверкая и ugilying:

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

Угловая прочтет строковые значения массива при условии, чтобы определить имя услуг a, b, c, чтобы впрыскивать их должным образом.

Смежные вопросы