#javascript #angularjs #angularjs-ng-repeat
#javascript #angularjs #angularjs-ng-repeat
Вопрос:
У меня есть следующий HTML, который я хотел бы отсортировать в обратном хронологическом порядке по newestComment:
<div class="list list-inset"
ng-repeat="(threadId, thread) in messageThreads | orderBy:'thread.newestComment'"
ng-if="thread.newestComment > messageClearTime">
<div class="item item-divider">
{{thread.newestComment}}
</div>
</div>
Данные (messageThreads) — это с идентификатором потока в качестве ключа и newestComment в качестве метки времени:
{ "5381897" : {
"newestComment" : 1403280014,
"title" : "asdf"
},
"5595015" : {
"newestComment" : 1403192555,
"title" : ""
},
"5761260" : {
"newestComment" : 1403126044,
"title" : ""
},
"5838498" : {
"newestComment" : 1403279962,
"title" : "Share Test"
}
}
Что бы я ни делал, я не могу понять, как сделать сортировку — она всегда просто выводится в том порядке, в котором находится массив. Любая помощь?
Ответ №1:
orderBy
Фильтр работает только с массивами объектов, а не с самими объектами. Смотрите Документы здесь.