Вопрос:

Различные типы во втором аргументе для функции контроллера в AngularJS?

javascript angularjs

20 просмотра

1 ответ

811 Репутация автора

Я довольно новичок в Angular и, глядя на примеры, я вижу, что иногда localsаргумент controllerфункции иногда является просто функцией, а иногда - массивом.

angular.module('contentful').controller(
    'FormWidgetsController',
    ['$scope', "$injector", function($scope, $injector){ ... }]);

против

myModule.controller("GroupController", function GroupController($scope){
  ...
});

Это только примеры, которые я нашел в одном примере. Глядя на документацию AngularJS , он просто говорит, что они являются локальными инъекциями для Controller с небольшим контекстом. Поиск в Google, который не поднимает ничего, что имеет смысл для кого-то, начинающего, как я.

Кто-нибудь может объяснить разницу между ними и тем, что делает каждая реализация?

Автор: joshualan Источник Размещён: 22.08.2016 08:31

Ответы (1)


0 плюса

5588 Репутация автора

Разница в том, когда вы минимизируете свое угловое приложение

angular.module('contentful').controller(
    'FormWidgetsController',
    ['$scope', "$injector", function($scope, $injector){ ... }]);

станет

angular.module('contentful').controller(
    'FormWidgetsController',
    ['$scope', "$injector", function(a, b){ ... }]);

в этом случае angular по-прежнему знает, какие зависимости вам требуются и в каком порядке они вводятся, если вы не используете массив для исследования ваших зависимостей

myModule.controller("GroupController", function GroupController($scope){
  ...
});

и когда это уменьшит

 myModule.controller("GroupController", function GroupController(a){
      ...
    });

сейчас угловатые, а не то, что есть, и это даст вам ошибку.

Автор: Jorawar Singh Размещён: 22.08.2016 08:37
Вопросы из категории :
32x32