【问题标题】:Get the resorted array from angularjs ng-repeat expression从 angularjs ng-repeat 表达式中获取重新排序的数组
【发布时间】:2016-01-18 07:09:13
【问题描述】:
假设我有以下 angularjs 表达式
<tr ng-repeat="person in people | orderBy:age">
假设在我的控制器中,我想在这个新排序的列表中获取前 5 个人。我该怎么做?
我希望有一些注入的 $scope 变量可以检索。
否则,我想在我的控制器中,我可以应用相同的排序并获得前五个,但应用两次排序似乎效率低下。任何人都知道我将如何在 javascript 中做到这一点?
【问题讨论】:
标签:
angularjs
angularjs-orderby
【解决方案1】:
您可以使用as,它将过滤后的数组作为范围变量返回:
<tr ng-repeat="person in people | orderBy:age as filteredPeople">
请注意,这在早期版本的 Angular 中不可用
【解决方案2】:
当然,您可以使用此语法根据您的过滤器创建一个新变量:
ng-repeat="person in filtered = (people | orderBy:age)"
$scope.filtered 现在作为有序数组存在。