【发布时间】:2015-12-04 20:17:01
【问题描述】:
我面临分页问题。我尝试了几个答案,包括自定义过滤器和每次不显示数据时。我知道数据已被提取并存在于 DOM 中,但我似乎无法弄清楚为什么它不显示数据。
分页控件:
// pagination controls
$scope.currentPage = 1;
$scope.totalItems = $scope.searchDataValues.length;
$scope.entryLimit = 8; // items per page
$scope.noOfPages = Math.ceil($scope.totalItems / $scope.entryLimit);
$scope.pageChanged = pageChanged;
$scope.paginatedList = $scope.searchDataValues.slice(0, $scope.entryLimit);
function pageChanged(){
var begin = (($scope.currentPage - 1) * $scope.entryLimit),
end = begin + $scope.entryLimit;
$scope.paginatedList = $scope.searchDataValues.slice(begin, end);
}
HTML 端代码:
<pagination
ng-change="pageChanged()"
total-items="totalItems"
items-per-page="entryLimit"
ng-model="currentPage"
max-size="noOfPages"
class="pagination-sm"
boundary-links="true">
</pagination>
Ng-重复过滤器:
<tr ng-repeat="data in searchDataValues | orderBy:sortKey:reverse | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit ">
从过滤器开始:
app.filter('startFrom', function () {
return function (input, start) {
if (input === undefined || input === null || input.length === 0) return [];
start = +start; //parse to int
console.log(input.slice(start))
return input.slice(start);
}
});
【问题讨论】:
标签: javascript jquery angularjs pagination angularjs-ng-repeat