2015-11-05 21 views
8

begrenzen Ich entwickle eine App mit Aurelia und lassen Sie uns sagen, ich habe eine Schleife gibt:Aurelia repeat.for

<div repeat.for="t of allTags">${t.name}</div> 

Es gibt viele Einträge so natürlich würde Ich mag einige von ihnen gezeigt begrenzen. Also im Grunde würde Ich mag so etwas wie Angular der Wiederholungsgrenze haben:

<div ng-repeat="t in allTags | limitTo:5 ">{{t.name}}</div> 

ich die Dokumentation hier http://aurelia.io/docs.html geprüft habe, aber nichts zu dem Thema gefunden.

Gibt es eine solche Funktion in Aurelia? Wenn nein, würde ich lieber die Liste im Controller ausschneiden in der Ansicht mit $index?

Danke!

Antwort

17

Option 1: Verwenden Sie einen Wertkonverter.

take-Wert-converter.js

export class TakeValueConverter { 
    toView(array, count) { 
    return array.slice(0, count); 
    } 
} 

app.html

<require from="./take-value-converter"></require> 

<div repeat.for="t of allTags | take:5">${t.name}</div> 

Live-Beispiel für dieses Szenario und viele andere here.

Andere Dokumente auf Wertwandler bei aurelia.io

Option 2:

<div repeat.for="i of 5">${allTags[i].name}</div> 
+0

Ist es möglich, bei einem Index anders als 0 zu beginnen? – Axel

1

eine Reihe wiederholen über Wenn Sie auf einen anderen Wert starten möchten, können Sie die TakeValueConverter am toView Methode bearbeiten füge einen dritten Parameter hinzu.

toView(array,start,count){ 
    return array.slice(start,count); 
} 

Aber dann müssen Sie die letzte Position verfolgen irgendwie selbst

Verwandte Themen