Проецирование контента с использованием селекторов, поступающих через ngTemplateOutlet - PullRequest
1 голос
/ 28 января 2020

У меня есть компонент toolbar, который проецирует контент в несколько слотов с помощью селекторов:

<ng-content select="[left]"></ng-content>
<ng-content></ng-content>
<ng-content select="[right]"></ng-content>

При прямом использовании в родительском объекте контент проецируется правильно:

<section>
  <p>Content is projected correctly</p>
  <toolbar>   
    <button>Center</button>
    <button right>Right</button>
    <button left>Left</button>
</toolbar>
</section>

Содержимое отображается правильно

При использовании ng-template и ngTemplateOutlet для передачи содержимого на панель инструментов оно не работает. Содержимое проецируется, но все содержимое заканчивается в <ng-content></ng-content> всеобъемлющем.

<ng-template #toolbarContent>
  <button>Center</button>
  <button right>Right</button>
  <button left>Left</button>
</ng-template>

<section>
  <p>Content is projected incorrectly</p>
  <toolbar><ng-container [ngTemplateOutlet]="toolbarContent"></ng-container></toolbar>
</section>

Содержимое отображается некорректно

Как сделать содержимое в шаблон, предоставленный через ngTemplateOutlet проект в нужный слот?

Код Stackblitz: https://stackblitz.com/edit/angular-grid-toolbar?embed=1&file=src / app / app.component. html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...