Вы можете внедрить хост дочернего компонента с помощью следующего синтаксиса :
import { Component, Optional, Host, Inject, forwardRef } from '@angular/core';
import { ParentComponent } from './parent.component';
...
export class ChildComponent {
constructor(@Optional() @Host() @Inject(forwardRef(() => ParentComponent)) parent) {
console.log("Has valid parent:", !!parent);
}
}
См. этот стек для демонстрации.
Если вы хотите, чтобы Angular генерировал исключение, когда соответствующий родительский компонент не найден, удалите декоратор @Optional
:
constructor(@Host() @Inject(forwardRef(() => ParentComponent)) parent) {
console.log("Has valid parent!");
}
См. этот стековый блик для демонстрации.