【问题标题】: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 现在作为有序数组存在。

      【讨论】:

        猜你喜欢
        • 2012-09-26
        • 2014-05-02
        • 2015-12-19
        • 1970-01-01
        • 2016-02-12
        • 2015-04-23
        • 1970-01-01
        • 1970-01-01
        • 2014-08-18
        相关资源
        最近更新 更多