У меня есть основной компонент, который имеет 2 дочерних компонента и службу. Я делаю bootstrap(Main, [MyService])
, однако я хочу иметь функциональность (возможность вызова сервисных функций) из этих обоих дочерних компонентов. Как передать один экземпляр этой службы из родительского компонента в мои дочерние компоненты?Передача глобального обслуживания дочерним классам в Angular 2
0
A
ответ
0
Не указывайте поставщика услуг в компоненте, просто включите его в конструктор.
Если вы предоставляете услугу в бутстрапе и хотите, чтобы это был синглтон, ваш компонент будет выглядеть так.
@Component({
template: '<child-component></child-component>',
directives: [ChildComponent],
providers: [] // no need to include the specify the service here
})
export class MyComponent {
/*even though you're injecting the service here, it will use the same
instance provided in the bootstrap */
constructor(private myService: MyService) {
}
}
@Component({
selector: 'child-component',
providers: [] // no need to include the specify the service here
})
export class ChildComponent {
//you can do this as long as you don't specify the service in the providers list
constructor(private myService: MyService) {
}
}
Смежные вопросы
- 1. Угловой 2 - Метод обслуживания вызывается при навигации по дочерним компонентам
- 2. Укладка дочерних элементов с использованием глобального CSS в Angular 2
- 3. Hibernate поисковый запрос, ограничение по дочерним классам?
- 4. Injection против глобального статического класса с Angular 2
- 5. Как получить связь Angular 2 между дочерним и родительским компонентом?
- 6. Передача объекта по классам
- 7. Angular 2 - Передача url с @Input
- 8. Передача текстуры по классам
- 9. Передача fuctions классам
- 10. Просмотр свойства глобального объекта в Angular JS
- 11. Передача NODE_ENV в Angular
- 12. Передача привязки к дочерним скриптам
- 13. Angular2: Передача данных дочерним компонентам
- 14. Передача глобального указателя на функцию
- 15. Передача локальной переменной как глобального
- 16. Передача компонента в качестве «аргумента» другому компоненту в Angular 2
- 17. Передача различных данных связанным классам
- 18. Передача потока данных другим классам
- 19. Передача аргументов командной строки классам
- 20. Передача значения атрибуту в Angular
- 21. Угловое 2 окна глобального объекта не определено
- 22. Передача глобального var в атрибут компонента vue
- 23. Передача ссылки глобального объекта в App.xaml.cs
- 24. Передача глобального массива в функцию overwrites array
- 25. Передача параметров сервера asp.net в приложение Angular 2
- 26. Передача данных дочерним компонентам в реакциях
- 27. Передача параметров базовым классам, созданным в классе
- 28. Передача объекта потока для обслуживания
- 29. Передача обслуживания iOS8 - Пример проекта
- 30. Передача DTO на уровень обслуживания
я могу это сделать. В основном компоненте я могу включить поставщика в конструктор, но в дочерних компонентах я не могу, у меня есть ошибка. Может быть, я должен каким-то образом передать провайдеру из родительского компонента ребенку? –
какая ошибка? Мне не нужно ничего пропускать –
Я имею в виду, почему вы не можете включить службу в конструктор ребенка? –