Заранее прошу прощения, если это дубликат чьего-то вопроса, однако я не могу найти решение своей проблемы.
Мне нужно получить доступ к методам компонента через дерево маршрутизатора. Я знаю, что обычной практикой является связывание функциональности через сервисы, но я работаю с ViewContainerRef
и ElementRef
, которые необходимо предоставить из компонента, к которому мне нужен доступ.
У меня есть родительский компонент с некоторым методом. Когда я вызываю его, мне нужно вызывать метод вплоть до корневого дерева.
parent.component.ts
export class ParentComponent {
childComponent: ChildComponent;
constructor(
private activatedRoute: ActivatedRoute
) {
this.activatedRoute.url.subscribe(data => {
this.childComponent = this.activatedRoute.snapshot.firstChild.component;
this.childComponent.someMethod() // not working
});
}
}
child.component.ts
export class ChildComponent {
constructor() { }
someMethod() {
console.log('Method Called');
}
}
Я также пытался использовать ViewChild
, но ChildComponent
не является частью родителя, поэтому всегда undefined
. Как я могу получить доступ к методу ChildComponent?