2015-11-05 2 views
8

Я разрабатываю приложение с Aurelia и скажу, у меня есть цикл там:Aurelia repeat.for ограничить

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

Есть много записей поэтому, естественно, я хотел бы, чтобы ограничить их количество, как показано. Поэтому в основном я хотел бы иметь что-то вроде предела повтора ANGULAR в:

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

Я проверил документы здесь http://aurelia.io/docs.html но ничего на эту тему не нашел.

Есть ли такая особенность в Aurelia? Если нет, я бы предпочел бы перерезать список в контроллере, чтобы сделать это в представлении с $index?

Спасибо!

ответ

17

Вариант 1: Используйте преобразователь значений.

бери оценочными 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> 

Живой пример этого сценария и многие другие here.

Другие документы на преобразователях значение в aurelia.io

Вариант 2: повторить через несколько

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

Можно начать с индексом, отличной от 0? – Axel

1

Если вы хотите, чтобы начать на другое значение вы можете редактировать TakeValueConverter в методе toView добавьте третий параметр.

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

Но тогда вы должны отслеживать последнюю позицию как-то сами

Смежные вопросы