首页 > 解决方案 > Angular 将 templateRef 传递给子组件

问题描述

我有一段代码曾经在 Angular 9 中工作,现在在 Angular 12 中不再适用。我想我需要以某种方式使用 ngTemplateOutletContext。

父组件:

<ng-template #navTemplate>
  <a *ngFor="let link of links">{{link}}</a>
</ng-template>
<child-component>
  [navTemplate]="navTemplate"
</child-component>

子组件(ts):

@Input() navTemplate: TemplateRef<any>;

子组件 (html)

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

如果不是将依赖于变量的项目列表作为模板传递。因此,例如,如果我通过一个简单的 div 它就可以工作。所以我认为问题是变量links需要以某种方式传递给子组件。

标签: angular

解决方案


推荐阅读