Как связать входы и выходы для динамически создаваемых компонентов, используя `ngTemplateOutlet`? - PullRequest
1 голос
/ 27 июня 2019

Мне нужно создать хост-компонент, который принимает компоненты, для рендеринга внутри mat-tab. Компоненты предоставляются внутри списка, и он может быть различным. Поскольку мы не знаем, какой компонент визуализировать, как мы можем связать входы и выходы с родительским представлением (хостом) и динамически созданным компонентом.

Пример:

<div *ngFor="let tab of tababList">
 <mat-tab *ngIf="tab.isVisible">
  <ng-template mat-tab-label>{{tab.title|translate}}</ng-template>
  <ng-container *ngTemplateOutlet="tab.component"></ng-container>
 </mat-tab>
</div>

Для альтернативного подхода я рассмотрел ViewContainerRef с методом ComponentFactoryResolver. Таким образом, ViewContainerRef стал неопределенным, поскольку *ngIf был там, и не может добавить больше вкладок.

Есть какие-нибудь решения по этому вопросу?

Я ссылался Угловая документация

...