2015-01-08 1 views
0

, что разница в определении зависимостей контроллера в массиве:Различный способ введения зависимостей в угловых

app.controller('IndexController', ['$rootScope', '$http', function($rootScope, $http) { 
    //some cool stuff 
}]); 

и введение их прямо в функцию, как это:

app.controller('IndexController', function($rootScope, $http) { 
    //some cool stuff 
}); 

Много сообщений и руководств использования более короткая версия, поэтому мне интересно, есть ли какие-либо преимущества в том, чтобы сделать это первым способом.

Спасибо!

+0

Проблема будет создана во время минимизации кода. Поскольку строка не мутируется во время минимизации, так что первая из них будет хорошо работать после минимизации, когда вторая создаст проблему. – mia

ответ

2

Это необходимо, если вы используете некоторые инструменты для минимизации, такие как uglify. Такого рода инструментов изменить имя переменных, таким образом, например:

app.controller('IndexController', function($rootScope, $http) { 
    //some cool stuff 
}); 

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

randomVariable.controller('IndexController',function(a, b){}); 

И a и b не является вашей зависимостью.

В другом случае, уменьшенный код становится чем-то вроде:

app.controller('IndexController',['$rootScope','$http',function(a,b)

Здесь a и b передается как аргументы из двух строк, которые являются значением и, следовательно, они не могут быть изменены с помощью минификации инструментов

+0

Спасибо! Поэтому нет необходимости использовать более длинный путь, если вы не собираетесь минимизировать сценарий, верно? –

+0

s. нет необходимости использовать этот подход, если вы не – CodingNinja

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