Улучшить эту документацию Просмотреть исходный код $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–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://code.angularjs.org/1.8.2/docs/api/ngMock/service/$componentController