Использование angular.filter я использую GroupBy и длину, чтобы дать мне подсчет количества записей, регистрируемых пользователем EMAILIDAngularJS группеПо OrderBy
<div ng-repeat="(key, value) in leaderboard | groupBy: 'emailId'">
<h3>{{ key }} {{ filteredList.length}}</h3>
<li ng-repeat="leaderboard in value | filter: emailId as filteredList"></li>
</div>
Это все работает отлично давая мне список emailIds, в количество записей для каждого emailId и записи, перечисленные ниже.
Что я пытаюсь сделать, так это упорядочить данные по количеству записей для каждого emailId (другими словами, упорядочить данные по значению, возвращаемому {{filterList.length}}).
Я попытался добавить OrderBy к нг-повтора, как показано ниже
<div ng-repeat="(key, value) in leaderboard | groupBy: 'emailId' | orderBy: filtered.length">
<h3>{{ key }} {{ filteredList.length}}</h3>
<li ng-repeat="leaderboard in value | filter: emailId as filteredList"></li>
</div>
, но это не имеет никакого значения в порядке элементы перечислены. Я искал существующий ответ, но все orderBy, не работающие с groupBy, похоже, относятся к упорядочению по элементу, содержащемуся в значении, а не по длине фильтра.
Спасибо, теперь работаю, но мне нужно отменить 'orderBy'. Я попробовал ': reverse', но, похоже, это не имеет значения. Может ли 'reverse' использоваться с' toArray' – Janbango
Его хорошо, мне нужно использовать ': true', а не': reverse' – Janbango
Вы получили это право;) –