gpt4 book ai didi

angularjs - 如何在 Controller 中链接 AngularJS 过滤器

转载 作者:行者123 更新时间:2023-12-03 11:15:17 25 4
gpt4 key购买 nike

我有几个过滤器

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

在我的项目中,为了取得良好的效果,我必须在 Controller 中进行这种过滤,而不是在 View 中

我知道基本语法 $filter('filter')('x','x')但我不知道如何在 Controller 中制作过滤器链,所以一切都会像我的模板示例一样工作。

我找到了一些解决方案,现在只有一个过滤器,但应该适用于许多 ;)
       $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-repeat 中使用这个函数工作正常,但我必须用几个过滤器检查它。

最佳答案

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

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

关于angularjs - 如何在 Controller 中链接 AngularJS 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27852445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com