Улучшить эту документацию Посмотреть исходный код $componentController
- сервис в модуле ngMock
Обзор
Сервис, который можно использовать для создания экземпляров контроллеров компонентов. Полезно для модульного тестирования.
Обратите внимание, что контроллер будет создан и прикреплен к области видимости (scope) так, как указано в объекте определения компонента. Если вы не предоставите объект $scope в параметре locals, то помощник создаст новую изолированную область видимости как дочерний элемент $rootScope.
Если вы используете $element или $attrs в контроллере, убедитесь, что вы предоставили их как locals. $element должен быть элементом DOM, обернутым в jqLite, а $attrs должен быть объектом, содержащим все свойства/функции, которые вы используете в контроллере. Если это становится слишком сложным, вы можете вместо этого скомпилировать компонент и получить доступ к контроллеру компонента с помощью функции controller.
См. также раздел о модульном тестировании контроллеров компонентов в руководстве.
Использование
$componentController(componentName, locals, [bindings], [ident]);
Аргументы
| Параметр | Тип | Описание |
|---|---|---|
| componentName | string | имя компонента, контроллер которого мы хотим создать |
| locals | Object | Локальные переменные для инъекций в контроллер. |
| bindings (необязательно) | Object | Свойства, которые необходимо добавить к контроллеру перед вызовом конструктора. Это используется для имитации функции |
| ident (необязательно) | string | Изменение имени свойства для прикрепления контроллера к области видимости. |
Возвращаемое значение
Object |
Экземпляр запрашиваемого контроллера. |
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.6.9/docs/api/ngMock/service/$componentController