Я использую ng-container для перебора списка и создания компонентов
<ng-container *ngFor="let f of optionsList; let i = index;">
<!-- component-->
<app-component #fieldcmp *ngIf="isAppComponent(f)" ></app-field>
<!--another components-->
<app-anoter-component1 *ngIf="isAnotherComponent1(f)"> </app-anoter-component1>
...
<app-anoter-componentn *ngIf="isAnotherComponentn(f)"> </app-anoter-componentn>
</ng-container>
Я хотел бы перечислить компоненты References внутри ng-контейнера.
Я пробовал использовать @ViewChildren ('# fieldcmp') fieldsList: QueryList; и @ContentChildren ('# fieldcmp') fieldsList: QueryList; внутри отцовского компонента, но я не получаю никаких элементов, если пытаюсь получить доступ в ngafterViewInit
ngAfterViewInit() {
this.fieldsList.forEach((child) => { /* some logic....*/});
}
Кто-нибудь может мне помочь? Спасибо
----------- Обновление -----------------------
после исправления с помощью @ViewChildren ('fieldcmp') у меня есть список ElementRef вместо моего AppComponent. Я бросил и все работает
this.filedsList
.forEach((child) => { atLeastOneRequired = atLeastOneRequired || (<ReusableFieldComponent> child).isRequired();
});
спасибо, что помогли
@ViewChildren('fieldcmp')
(без знака#
, который используется только в шаблоне) - person Martin Adámek   schedule 13.09.2018