2015-06-15 5 views
0

Я немного запутался в синтаксисе контроллера в угловых js: Оба контроллера работают, когда я использую {{ и }}.Угловой контроллер JS

Может ли кто-нибудь сказать мне, что использует параметры $scope и $filter до function($scope..), тот, который выделен полужирным шрифтом. Также, когда я удаляю один из них, я не получаю вывод. 'MyController1', ['$ сфера', '$ фильтр', функция ($ сфера

app.controller('MyController1', ['$scope', '$filter',function($scope, $filter) { 
$scope.an = $filter('uppercase') ("ankurbhatia"); 

}]); 

Здесь я удалил $scope и $filter перед функцией, но он все еще работает.

app.controller('DemoController', 
function($scope, $filter) { 
$scope.an= $filter('uppercase')('Ari'); 
}); 

ответ

0

Полезно, если вы минимизируете свой JavaScript. Если вы укажете «стробированную» переменную раньше, мини-JS по-прежнему найдет то, что должно быть миниатюрной переменной.

Ваш JavaScrip т minifed будет

app.controller("MyController1",["$scope","$filter",function(r,a){r.an=a("uppercase")("ankurbhatia")}]); 

Если вы не до того указать строку, она будет выглядеть следующим образом:

app.controller("MyController1",function(o,r){o.an=r("uppercase")("ankurbhatia")}); 

Se раздел «Обратите внимание на минификация» в https://docs.angularjs.org/tutorial/step_05

+0

Для конкретности : DI знает, что нужно вводить, потому что он знает, какие переменные вызываются в коде как строка. Если вы минимизируете код, вы меняете имена переменных, и DI больше не знает, что ему нужно вводить эти службы. – DanielM

+0

Большое спасибо petur. Поэтому, если я правильно понял, минимизация - это сохранение некоторого пространства за счет сокращения ненужных символов из исходного кода, но в этом случае, где именно мы сохраняем пространство? –

+0

Когда JavaScript передается через Интернет. Например, весь файл angular.js имеет значение 965,5kB unminified и 126,4kB minified, то есть много места для сохранения в переданных файлах, и пользователь чувствует, что страница загружается быстрее. – petur

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