Pull to refresh

Comments 2

Я бы в данном случае пробросил контент так:

Компонент-родитель: помещаем все что хотели пробросить как ng-content в темплейт и пробрасываем ссылку на этот темплейт через Input свойство в компонент (app-widget)

<ng-template #pc>
  <p>This is a content to project</p>
</ng-template>

<app-widget [externalContent]="pc"></app-widget>

Дочерний компонент (app-widget) - добавляем Input свойство, которое принимает ссылку на темплейт

  @Input()
  public externalContent: TemplateRef<any>;

и вставляем этот темплейт внутрь того темплейта, куда планировали пробросить контент через ng-content

<ng-template #templA>
  <p>Template A begin</p>
  <ng-container *ngTemplateOutlet="externalContent"></ng-container>
  <p>Template A end</p>
</ng-template>

<ng-container *ngTemplateOutlet="templA"></ng-container>

https://stackblitz.com/edit/ng-template-content-kc3scy

Да, можно и так. Собственно поэтому проблема и носит экзотический характер, поскольку существуют разные способы её решения, без необходимости дополнительных изменений на уровне ядра фреймворка.

Sign up to leave a comment.

Articles