нг-повтор с фильтром и двойной порядок

0

У меня есть массив людей, которых я должен фильтровать и упорядочивать по двум критериям. Мой фильтр прост в том, что если имя содержит то, что они набирают, пропустите его. Для группировки я хочу сначала сгруппировать всех людей с clockedIn = 1, а затем в этих двух группах я хочу заказать по фамилии.

Мой фильтр работает отлично, но я не могу заставить orderBy работать вообще независимо от того, что я делаю...

Полный jsfiddle: http://jsfiddle.net/joshuaohana/82k76uj0/1/, показывает все вспомогательные функции и многое другое

Повтор, который я пытаюсь настроить:

<div ng-repeat="person in people | filter:nameFilterFn | orderBy: '+person.clockedIn' | orderBy:'-person.userLastName' ">
  <p>{{person.userName}}</p>
  <p>{{person.clockedIn}}</p>
</div>

Для ng-repeat, как я...

  1. Фильтр против функции
  2. Первый сортировать по булевому в ng-repeat
  3. Во-вторых сортировать против имени пользователя
Теги:

1 ответ

1
Лучший ответ

Для сортировки по нескольким полям используйте этот синтаксис:

<div ng-repeat="person in people | filter:nameFilterFn | orderBy: ['clockedIn', 'userLastName'] ">

Чтобы использовать обратное lastName используйте ['clockedIn', '-userLastName']

Обновленная скрипка здесь

  • 0
    Огромное спасибо, и ха-ха, у моего оригинала был person.clockedIn, поэтому он вообще не работал

Ещё вопросы

Сообщество Overcoder
Наверх
Меню