Hallo mal wieder,
ich habe hier ein Problem mit dem ContentChild bzw. Contentchildren. Ich bekomme es nicht hin, dass das dort irgenderwas drin steht. Ob jetzt ContentChild oder Children und Querylist macht keinen Unterschied. Auch ob ich als Selector eine Klasse nehme oder selector. Ergebnis bleibt gleich. forwardref und descendents bringen auch nichts. Ergo -> bin ratlos.
Abfragen erfolgen im AfterInit bzw wenn ich einen Button drücke.
Das hier habe ich bis jetzt getestet: Über eine Direktive appPreview, dann noch über die Basisklasse von app-foo und halt über #test.
Ergebnis ist immer undefined oder leer. Egal zu welchem Zeitpunkt ich die Abfrage mache..
ich habe hier ein Problem mit dem ContentChild bzw. Contentchildren. Ich bekomme es nicht hin, dass das dort irgenderwas drin steht. Ob jetzt ContentChild oder Children und Querylist macht keinen Unterschied. Auch ob ich als Selector eine Klasse nehme oder selector. Ergebnis bleibt gleich. forwardref und descendents bringen auch nichts. Ergo -> bin ratlos.
Abfragen erfolgen im AfterInit bzw wenn ich einen Button drücke.
Das hier habe ich bis jetzt getestet: Über eine Direktive appPreview, dann noch über die Basisklasse von app-foo und halt über #test.
Javascript:
@Component({
selector: 'app-bar',
template: '<div #test></div><app-foo appPreview></app-foo>'
})
export class BarComponent implements OnInit, AfterContentInit {
@ContentChildren(BaseComponent, { descendants: true }) private contentItems: QueryList<BaseComponent>;
@ContentChildren(PreviewDirective, { descendants: true }) private contentItems2: QueryList<PreviewDirective>;
@ContentChildren(forwardRef(() => PreviewDirective))private item: QueryList<PreviewDirective>;
@ContentChildren(forwardRef(() => BaseComponent))private item2: QueryList<BaseComponent>;
@ContentChild('test') children: any;
@ContentChild(PreviewDirective) children2: any;
@ContentChild(BaseComponent) children3: any;
constructor(){}
ngOnInit(): void {
}
ngAfterContentInit(): void {
console.log(this.contentItems.toArray());
console.log(this.contentItems2.toArray());
console.log(this.item.toArray());
console.log(this.item2.toArray());
console.log(this.children);
console.log(this.children2);
console.log(this.children3);
}
Ergebnis ist immer undefined oder leer. Egal zu welchem Zeitpunkt ich die Abfrage mache..
Zuletzt bearbeitet: