2016-06-14 12 views
23

Mein Code:Wie kann ich ngFor auf einige Elemente in Angular beschränken?

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

Ich versuche nur 10 Listenelemente an jedem Punkt angezeigt zu haben. Wie in der answer here vorgeschlagen, habe ich ngIf verwendet, aber dies führt zu leeren Liste Elemente (mehr als 10) auf der Seite angezeigt.

danke!

Antwort

67

Dies erscheint mir einfacher

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

Näher an Ihrem Ansatz

<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

Der zweite Ansatz gibt Ihnen eine bessere Flexibilität für UI. dh * ngIf = "i <11 || showAll" – bryjohns

+0

hi, nehmen wir an, das Array hat 12 Elemente und wir schneiden 3 ... wie bekommt man den Rest davon, damit er woanders angezeigt werden kann (zB in einer Taste: 9 Artikel übrig) – Yasir

+0

Hat 'slice: 0: 10' die ursprüngliche Matrix? –

0

Das funktioniert sehr gut:

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