在使用 ng-repeat 应用另一个过滤器之前保留过滤列表
Retain filtered list before applying another filter using ng-repeat
我有一个名为 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`.
在这种情况下,您需要过滤 Javascript 本身中的列表。
针对您的场景
在你的控制器中:
var ListA = [<some-data>];
$scope.filteredList = $filter('filter')(ListA, searchString );
$scope.filteredList = $filter('filter')($scope.filteredList, {label:searchCategory.value} );
您应该在单击某些事件时使用过滤器值,并在处理程序上重新计算此过滤列表。
如果项目少于 200,那么您可以通过在过滤器表达式上实施观察器来实施实时过滤。
我有一个名为 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`.
在这种情况下,您需要过滤 Javascript 本身中的列表。
针对您的场景
在你的控制器中:
var ListA = [<some-data>];
$scope.filteredList = $filter('filter')(ListA, searchString );
$scope.filteredList = $filter('filter')($scope.filteredList, {label:searchCategory.value} );
您应该在单击某些事件时使用过滤器值,并在处理程序上重新计算此过滤列表。
如果项目少于 200,那么您可以通过在过滤器表达式上实施观察器来实施实时过滤。