我看过几个滤镜
<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演示了上述。