2016-06-14 89 views
23

我的代碼:如何限制ngFor重複Angular中的某些項目?

<li *ngFor="let item of list; let i=index" class="dropdown-item" (click)="onClick(item)"> 
          <template [ngIf]="i<11">{{item.text}}</template> 
         </li> 

我想只有10列表中的元素在任何點顯示。正如在answer here中所建議的那樣,我使用了ngIf,但是這會導致在頁面上顯示空列表項(超過10)。

謝謝!

回答

67

這似乎簡單到我

<li *ngFor="let item of list | slice:0:10; let i=index" class="dropdown-item" (click)="onClick(item)">{{item.text}}</li> 

更接近你的方法

<ng-container *ngFor="let item of list" let-i="index"> 
    <li class="dropdown-item" (click)="onClick(item)" *ngIf="i<11">{{item.text}}</li> 
</ng-container> 
+1

第二種方法爲您提供了UI更好的靈活性。即* ngIf =「我<11 || showAll」 – bryjohns

+0

嗨,讓我們說數組有12個項目,我們切片3 ...如何獲得其餘部分,以便它可以顯示在其他地方(例如在按鈕中:9剩下的項目) – Yasir

+0

'slice:0:10'是否影響原始數組? –

0

這個作品非常好:

<template *ngFor="let item of items; let i=index" > 
<ion-slide *ngIf="i<5" > 
    <img [src]="item.ItemPic"> 
</ion-slide> 
</template>