2014-12-06 2 views
0

Все работает, но OrderBy не сортировать элементы по заказу (value.points ряд)AngularJS: не OrderBy работает

<a class="item" ng-show="showResults" ng-repeat="(key, value) in event.tournaments | orderBy:'value.points'"> 
    <h3>{{key}} {{value.imitation}}</h3> 
    <span class="badge badge-assertive">{{value.points}}</span> 
</a> 

ответ

1

С documentation, заказы OrderBy только массивы. Синтаксис (ключ, значение) работает с объектами. Возможно, ваш словарь в массиве сделает трюк

+0

Если преобразование базы данных не является вариантом? – n00b43677

+0

вы не должны преобразовывать базу данных, а только промежуточный объект, предоставленный передним интерфейсом, после возврата службы. Сортировка объекта в javascript невозможна. Посмотрите здесь http://stackoverflow.com/questions/1069666/sorting-javascript-object-by-property-value – Slumber86

+1

@ n00b43677 вам не нужно преобразовывать базу данных, а только api, доставляя данные. Угловые лучше всего работают с массивами объектов, а не с простыми массивами. Данные могут всегда отображаться из одной структуры в другую в клиенте также – charlietfl

0

Не должно быть orderBy:value.points вместо orderBy:'value.points'?

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