【问题标题】:How to reference a ng-template from inside a div?如何从 div 中引用 ng-template?
【发布时间】:2019-04-30 07:46:08
【问题描述】:

我的 ng-containers 在 div 中,所以我无法访问 ng-template。有没有办法做到这一点?

<div>     
  <ng-container *ngTemplateOutlet="myTemplate"></ng-container>
</div>

<div>     
  <ng-container *ngTemplateOutlet="myTemplate"></ng-container>
</div>

<ng-template #myTemplate></ng-template>

【问题讨论】:

  • 你是在 NgModule 中导入 CommonModule 吗?
  • @DavideBellone 我已经在 NgModule 中导入了 BrowserModule。那应该是一样的
  • 是的,您可以这样做。 “无法访问 ng-template”是什么意思?
  • 您的代码运行良好,请查看demo。你还有什么想做的吗?

标签: angular ng-template


【解决方案1】:

您的代码应该可以正常工作,如果您想在上下文中传递,您可以像这样使用ngTemplateOutletContext

<div>     
  <ng-container *ngTemplateOutlet="myTemplate; context: context1"></ng-container>
</div>

<div>     
  <ng-container *ngTemplateOutlet="myTemplate; context: context2"></ng-container>
</div>

<ng-template let-person #myTemplate>
  Template goes here
  {{person.name}}
</ng-template>

export class AppComponent  {
  name = 'Angular';
  context1 = {$implicit: {name: 'Marcos'}};
  context2 = {$implicit: {name: 'Beccari'}};
}

检查这个demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    相关资源
    最近更新 更多