У меня есть родительский компонент:
@Component({
selector: 'parent',
template: '<ng-content></ng-content>'
})
export class ParentComponent {}
И дочерний элемент, который вводит ParentComponent
:
@Component({
selector: 'child'
})
export class ChildComponent {
constructor(private parent: ParentComponent) {}
}
Если я использую родительский и дочерний элементы непосредственно вшаблон, например:
<parent>
<child></child>
</parent>
Он работает нормально, и я получаю ParentComponent
внутри дочернего элемента.Но если мне нужно получить child
через ng-content
, например:
@Component({
selector: 'other-comp',
template: `
<parent>
<ng-content></ng-content>
</parent>
`,
})
export class OtherCompComponent {}
// app.html
<other-comp>
<child></child>
</other-comp>
, он выдаст ошибку:
NullInjectorError: Нет поставщика для ParentComponent!
Почему он больше не работает?