2015-06-24 3 views
2

Я новичок в угловую и когда я читал учебники я вижу два различных способа объявления зависимостей в контроллерах:зависимости контроллер в angularjs

1)

angular.module("myApp",[]).controller('MyController, function($scope, $localStorage){ 
}); 

и другие немного по-другому:

2)

angular.module("myApp",[]).controller('MyController, ['$scope', '$localStorage', function($scope,$localStorage){ 
}]); 

Второй способ кажется излишним для меня си Мне нужно указать $ scope и $ localStorage дважды? В чем разница между этими двумя способами определения контроллера?

ответ

4

Второй способ - смягчение. Когда ваш код уменьшенная

angular.module("myApp",[]).controller('MyController, function($scope, $localStorage){ 
}); 

превратится в нечто вроде

angular.module("myApp",[]).controller('MyController, function(a,b){ 
}); 

Второй способ сохраняет ссылку на объект, который вы передаете. Вы можете check the docs here, прокрутите вниз до «записки о минификации "

+1

Если вы хотите получить более подробную информацию о том, о чем говорит Кевин, см. Https://docs.angularjs.org/guide/di (аннотация зависимостей). У вас есть объяснение трех способов объявления ваших компонентов с плюсами и минусами;) – c4k

+0

Спасибо за ссылку! – user2924127

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