使用filter:query过滤的paginate ng-repeat项目

时间:2014-06-27 15:32:14

标签: angularjs pagination angularjs-ng-repeat ng-repeat

我正在尝试过滤|查询已分页的角度项目列表。

问题是过滤查询仅适用于分页项目,但我只想对过滤后的项目进行分页,而不是反之亦然。

例如:

  1. 项目清单
  2. PAGINATE
  3. 如果已过滤,则对已过滤的项目进行分页

1 个答案:

答案 0 :(得分:0)

创建自己的过滤器,检查传递给项目的数据是否已分页,然后应用过滤算法。

myModule.filter('filterOnlyPaginated', function() {
return function(data) {
  if(data.isPaginated()) {
    return data....
  }
  else {
    return data;
  }
}});

编辑: 也许limitTo是有用的https://docs.angularjs.org/api/ng/filter/limitTo

<div ng-repeat="item in items track by item.id | filter:query | limitTo:10">{{item.name}}</div>

第二次编辑: 使用

<div ng-repeat="item in filterFunction(items)"></div>

filterFunction是:

.controller('yourController', function($scope, $filter) {
    $scope.filterFunction = function(items) {
        return $filter('filterName')(items);
    };
});

https://docs.angularjs.org/api/ng/filter/filter