ngFor和* ngFor有什么区别

时间:2016-10-20 16:36:55

标签: angular typescript

我无法在任何地方找到差异的良好描述。与*ngIfngIf

相同

*ngFor

的示例
<li *ngFor="let video of page" ...>
  <img src="api/Videos/{{video.id}}/thumbnail">
</li>

以及ngFor

的示例
<template ngFor let-labelid [ngForOf]="labelLookup | keyValueFilter" >
  <label  [ngStyle]="{'background-color': labelLookup[labelid].color}">
    <input (click)="changeLabel(labelid)" type="radio" name="labelSelector" value="{{ labelid }}" [checked]="labelid == 1">
  </label>
</template>

1 个答案:

答案 0 :(得分:6)

区别在于*ngFor在内部转换为<template ngFor [ngForOf]="..."

它们是等价的,但前者写起来更方便。

显式版本(<template ngFor ...>)允许一次将指令应用于多个元素,而隐式版本(简写)仅使用<template>标记包装应用它的元素。

使用Angular 2.0.0 final,添加了<ng-container>元素,允许在行为类似于<template>元素的元素上使用简写语法(不添加到DOM)。

另见