Sagen wir, ich habe eine Komponente, Carousel
, die andere Komponenten einer Reihe von Typen enthalten kann, z. CarouselImage
, CarouselText
usw.Wie kann ich in einer Angular 2-Komponente auf untergeordnete Komponenten verschiedener Typen zugreifen?
Ich möchte so etwas tun ...
type CarouselItem = CarouselImage | CarouselText;
und dann in der Komponente
@ContentChildren(CarouselItem) items: QueryList<CarouselItem>;
Dies ist jedoch nicht funktioniert. I undertsand das Folgende ist möglich ...
@ContentChildren(CarouselImage) imgItems: QueryList<CarouselImage>;
@ContentChildren(CarouselText) txtItems: QueryList<CarouselText>;
aber hier ist die Reihenfolge verloren.
Wie kann ich am besten auf die untergeordneten Komponenten zugreifen, ohne die Bestellung zu verlieren?
Leider kann '@ ContentChildren' eine Schnittstelle nicht als Argument akzeptieren, es gibt denselben Fehler wie bei der Verwendung eines Union-Typs (wie in der Frage) – Brendan