我有一个名为ListA
的列表。我正在对它执行一些过滤器并保存在一个名为filteredList
的新数组中。
<div ng-repeat="element in filteredList =(ListA| filter: {label:searchCategory.value} |filter:searchString)">
现在,我想使用filteredList
来实现分页。我已经使用splice(start, end)
为其他页面实现了分页,我在其中更新start
和end
值以更新可见数组。
将splice添加到过滤器会改变我的filteredList
大小,这是我需要的,以便计算分页的页数。
我需要进入ng-repeat
会是这样的
ng-repeat="element in newList.splice(start, end)" where `newList` without splice is essentially `filteredList`.
答案 0 :(得分:1)
在这种情况下,您需要的是在Javascript本身中过滤List。
适用于您的场景
在您的控制器中:
var ListA = [<some-data>];
$scope.filteredList = $filter('filter')(ListA, searchString );
$scope.filteredList = $filter('filter')($scope.filteredList, {label:searchCategory.value} );
您应该在点击某个事件时使用Filter值,并在处理程序上重新计算此filteredList。
如果项目小于200,那么您可以通过在过滤器表达式上实现观察器来实现实时过滤。