Angular UI-Bootstrap分页

时间:2016-11-23 08:11:28

标签: angularjs angular-ui-bootstrap

我的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过滤时,过滤后的结果会保留在旧的分页页面中。

如何将过滤后的结果放到第一页。

1 个答案:

答案 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即可。 希望这会有所帮助..