Улучшить эту документацию Просмотреть исходный код $componentController
- сервис в модуле ngMock
Обзор
Сервис, который можно использовать для создания экземпляров контроллеров компонентов. Полезно для модульного тестирования.
Обратите внимание, что контроллер будет создан и прикреплён к области видимости, как указано в объекте определения компонента. Если вы не предоставите объект $scope в параметре locals, помощник создаст новую изолированную область видимости в качестве дочерней области видимости $rootScope.
Если вы используете $element или $attrs в контроллере, убедитесь, что вы предоставили их как locals. $element должен быть jqLite-объектом DOM-элемента, а $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.7.8/docs/api/ngMock/service/$componentController