如何在ngFor之外使用* ngFor当前对象?

问题描述 投票:5回答:2

标题可能看起来很奇怪,但我所说的基本上是this link正在做的事情。

我正在寻找一种方法,在person范围之外的<tr>中使用当前迭代的*ngFor

在链接中他使用ng-repeat-startng-repeat-end包含ng-repeat.的多个标签我如何使用*ngFor实现与Angular2相同的行为?

javascript angular ngfor
2个回答
8
投票

我不得不使用<template>标签,这使得迭代对象可以在其中访问。

<template let-person ngFor [ngForOf]="people">
    <tr>
        <td>{{person.name}}</td>
        <td>{{person.gender}}</td>
    </tr>
    <div>
        <span>{{person.details}}</span>
    </div>
</template>

希望它能帮助别人


0
投票

* in * ngFor(实际上是任何角度指令)都是简写,它告诉angular在ng-template中包围元素,这只是角度的实现。您可以在https://angular.io/guide/structural-directives上了解这是如何发生的,但我将重现下面的相关示例。

如果您的代码包含

<div *ngIf='object'>{{object.property}}</div>

作为渲染过程的一部分,角度转换为

<ng-template [ngIf]='object'>
   <div>{{object.property}}</div>
</ng-template>
© www.soinside.com 2019 - 2024. All rights reserved.