标题可能看起来很奇怪,但我所说的基本上是this link正在做的事情。
我正在寻找一种方法,在person
范围之外的<tr>
中使用当前迭代的*ngFor
。
在链接中他使用ng-repeat-start
和ng-repeat-end
包含ng-repeat.
的多个标签我如何使用*ngFor
实现与Angular2相同的行为?
我不得不使用<template>
标签,这使得迭代对象可以在其中访问。
<template let-person ngFor [ngForOf]="people">
<tr>
<td>{{person.name}}</td>
<td>{{person.gender}}</td>
</tr>
<div>
<span>{{person.details}}</span>
</div>
</template>
希望它能帮助别人
* 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>