如何在控制器中链接AngularJS滤波器

我看过几个滤镜

  <tr ng-repeat="x in list | filter:search| offset:currentPage*pageSize| limitTo:pageSize ">

在我的项目中取得良好的效果,我不得不在控制器中进行这种过滤

我知道基本的语法$ filter(‘filter’)(‘x’,’x’),但我不知道如何使控制器中的过滤器链,所以一切都将按照我的示例从模板工作。

我找到一些解决方案,现在只有一个过滤器,但应该与许多工作)

       $scope.data = data; //my geojson from factory//

       $scope.geojson = {}; //i have to make empty object to extend it scope later with data, it is solution i found for leaflet //

       $scope.geojson.data = [];

       $scope.FilteredGeojson = function() {

       var result = $scope.data;

       if ($scope.data) {
          result = $filter('limitTo')(result,10);
          $scope.geojson.data = result;
          console.log('success');
       }
           return result;

       };

我使用这个功能在ng重复工作正常,但我必须检查它与几个过滤器。

您可以重新过滤从第一个过滤器返回的内容。等等等等。

var filtered;
filtered = $filter('filter')($scope.list, {name: $scope.filterParams.nameSearch});
filtered = $filter('orderBy')(filtered, $scope.filterParams.order);

以下plunkr演示了上述。

http://plnkr.co/edit/Ej1O36aOrHoNdTMxH2vH?p=preview

翻译自:https://stackoverflow.com/questions/27852445/how-to-chain-angularjs-filters-in-controller

转载注明原文:如何在控制器中链接AngularJS滤波器