Улучшить документацию Просмотреть исходный код $componentController
- сервис в модуле ngMock
Сервис, который можно использовать для создания экземпляров контроллеров компонентов. Полезен для модульного тестирования.
Обратите внимание, что контроллер будет инициализирован и прикреплён к области видимости, как указано в объекте определения компонента. Если вы не предоставите объект $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–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ngMock/service/$componentController