前端

[Angular8]之 *ngFor 解析

2019-12-04  本文已影响0人  是苏菇凉呀
*ngFor 是 Angular 中的结构型指令,用来遍历数据并动态的添加 DOM 元素,它由两部分组成,星号( * )和指令的属性名( ngFor )

一、星号( * )前缀

星号是一个用来简化更复杂语法的“语法糖”,举个例子(以下代码为例),当 showInfo 为 true 时显示一段信息

<div *ngIf="showInfo">{{message}}</div>

Angular 会把 *ngIf 属性翻译成一个 <ng-template> 元素并用它来包裹宿主元素 <div>

<ng-template [ngIf]="showInfo">
  <div>{{message}}</div>
</ng-template>

二、*ngFor 如何使用

举个例子

<div *ngFor="let color of colors let i=index let odd=odd">
  {{odd}}
  {{i}}
  {{color}}
</div>
colors = [ 'red', 'blue', 'yellow', 'green' ];

效果图如下:


ngFor.png

Angular 会把 *ngFor 用同样的方式把星号(*)语法的 template 属性转换成 <ng-template> 元素

<ng-template ngFor let-color [ngForOf]="colors" let-i="index" let-odd="odd">
  <div>{{odd}} {{i}} {{color}}</div>
</ng-template>
上一篇 下一篇

猜你喜欢

热点阅读