angular 8: один ng-контейнер для нескольких представлений дочерних ссылок - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть три декоратора viewchild в моем компоненте, как это:

@ViewChild('propertiesPage1', { read: ViewContainerRef, static: true }) propertiesPage11: ViewContainerRef;
@ViewChild('propertiesPage2', { read: ViewContainerRef, static: true }) propertiesPage22: ViewContainerRef;
@ViewChild('propertiesPage3', { read: ViewContainerRef, static: true }) propertiesPage33: ViewContainerRef;

Ссылки на них приведены в моем файле html, например:

<div>
  <ng-container #propertiesPage1>
  </ng-container>
</div>
<div>
  <ng-container #propertiesPage2>
  </ng-container>
</div>
<div>
  <ng-container #propertiesPage3>
  </ng-container>
</div>

Я хочу объединить все три контейнера в один, и этот ng-контейнер должен содержать ссылку только на viewchild, который недавно изменился. Примерно так:

<div>
  <ng-container #propertiesPage>
  </ng-container>
</div>

Как мне этого добиться?

1 Ответ

0 голосов
/ 10 апреля 2020

@ViewChild декоратор только для одного ребенка. Чтобы получить массив детей, вам нужно использовать @ViewChildren

Попробуйте так:

 @ViewChildren('propertiesPage') pages: QueryList<ViewContainerRef>
...