我的ng-repeat模板为;
ng-repeat="student in students| filter:searchText | filter: paginate "
在控制器中我有;
$scope.currentPage = 1;
$scope.itemsPerPage = 20;
$scope.paginate = function (value) {
var begin, end, index;
begin = ($scope.currentPage - 1) * $scope.itemsPerPage;
end = begin + $scope.itemsPerPage;
index = $scope.students.indexOf(value);
return (begin <= index && index < end);
};
分页正在运行但是当我按seachText过滤时,过滤后的结果会保留在旧的分页页面中。
如何将过滤后的结果放到第一页。
答案 0 :(得分:0)
试试这个......
var sap=angular.module('doApp',['ui.bootstrap']);
sap.filter('startFrom',function(){
return function(input,start){
if(input){
start =+start;
return input.slice(start);
}
return [];
}
});
并将此更改为ng-repeat ..
<tr ng-repeat="student in filtered=(students | filter:serachText) | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit">
entrylimit可以是
$scope.entryLimit=5;
只需在您的paginate函数中添加此entrylimit即可。 希望这会有所帮助..