angular2 在组件模板中可以循环数组集合等对象,语法非常简单,如:
<ng-container *ngFor="let item of model.list"> <div class="sermons-post"> {{item.name}} </div> </ng-container>
但是,很多情况下我们需要的是另一种循环方式,常见的根据计数条件来循环指定的次数,如js的:for(var n=0;n<10;n++ )
然而高大上的angular2确并不支持这种比较基础的语法(抱歉我没谷歌到,如果有,请告诉我),如果想实现这种方式的模板指令循环,可以采取一种迂回的方式,将指定循环的数字
转换成对应大小的数组,做法如下:
在模板中将数字转换成对应大小的数组
<ng-container *ngFor="let i of arr(model.pages).fill(1);let n=index"> <li> <a [routerLink]="['/list',1,{page:n+1}]" >{{n+1}}</a> </li> </ng-container>
组件中需要定义arr对象,它是Array数组对象的别名,
export class ListContentsecComponent implements OnInit { arr = Array; //省略... }