【问题标题】:paginate ng-repeat items which are filtered using filter:query对使用 filter:query 过滤的 ng-repeat 项目进行分页
【发布时间】:2014-06-28 00:10:52
【问题描述】:

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

问题是过滤器|查询只对分页的项目起作用,但我想只对过滤的项目进行分页,反之亦然。

例如:

  1. 项目列表
  2. 分页
  3. 如果过滤,则对过滤后的项目进行分页

【问题讨论】:

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


    【解决方案1】:

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

    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>
    

    过滤器功能是:

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

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

    【讨论】:

    • 能否请您详细说明检查传递给项目的数据是否分页?
    • 你能更好地解释你的主要问题吗?
    • 我有一个项目列表,我想在其上使用 filter:query 并在过滤后的项目上分页。如果我可以补充的话,我是 Angular 的新手。
    • 有什么问题?
    • 我认为我需要做的是将过滤后的数据加载到 ng-repeat 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 2017-06-15
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多