首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角2+ NgTemplateOutlet内ngFor

角2+ NgTemplateOutlet内ngFor
EN

Stack Overflow用户
提问于 2018-08-22 08:00:54
回答 1查看 6.7K关注 0票数 9

我们有一些数组,如:

  • heroes: Hero[];
  • villains: Villain[];
  • ..。
  • puppies: Puppy[]

和像这样的模板

代码语言:javascript
复制
<p *ngFor="let individual of heroes">
    {{ individual.name }} - {{ individual.mobileNumber }}
    ...
</p>
    <p *ngFor="let individual of villains">
    {{ individual.name }} - {{ individual.mobileNumber }}
    ...
</p>
...
 <p *ngFor="let individual of puppies">
    {{ individual.name }} - {{ individual.mobileNumber }}
    ...
</p>

*ngFor循环具有所有相同的内容。为了简化这一点,我们创建了一个可以重用的ng-template

代码语言:javascript
复制
<ng-template let-individual #individualParagraphContent>
    {{ individual.name }} - {{ individual.mobileNumber }}
    ...
<ng-template>

现在,我们想像这样使用它:

代码语言:javascript
复制
<p *ngFor="let individual of puppies">
  <ng-content *ngTemplateOutlet="individualParagraphContent;
              context: {individual: individual}">
  </ng-content>
</p>

在这里我失败了。我找到了整个*ngFor循环都在模板中的例子,以及如何从组件本身传递一个值,但是我没有设法将一个<ng-template>插入到for循环中,并且传递变量(个体)的正确性。

编辑解决了。除了ng-template中的初始化之外,一切都很好

代码语言:javascript
复制
<ng-template let-individual="individual" #individualParagraphContent>
EN

回答 1

Stack Overflow用户

发布于 2018-08-22 08:09:14

试着做这样的事情:

代码语言:javascript
复制
<ng-container
    *ngFor="let individual of heroes"
    [ngTemplateOutlet]="individualParagraphContent"
    [ngTemplateOutletContext]="{individual: individual}"></ng-container>

对于模板:

代码语言:javascript
复制
<ng-template let-individual="individual" #individualParagraphContent>
    <p>
       {{ individual.name }} - {{ individual.mobileNumber }}
       ...
    </p>
<ng-template>

let-(X)=“上下文中的x键”

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51962304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档