【发布时间】:2016-07-05 10:03:00
【问题描述】:
使用 angular.filter 我正在使用 groupBy 和 length 来计算用户 emailId 记录的记录数
<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>
这一切都很好,给了我一个 emailId 的列表,每个 emailId 的记录数和下面列出的记录。
我试图做的是按每个 emailId 的记录数对数据进行排序(换句话说,按 {{filteredList.length}} 返回的值对数据进行排序)。
我已尝试将 orderBy 添加到 ng-repeat,如下所示
<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>
但这对列出项目的顺序没有任何影响。我已经查看了一个现有的答案,但所有未与 groupBy 一起使用的 orderBy 似乎是指按包含在值中的项目而不是过滤器的长度进行排序。
【问题讨论】: