我正面临着分页的问题。我已经尝试了几个答案,包括自定义过滤器和每次不显示数据。我知道数据已被提取并且存在于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-repeat过滤器:
<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);
}
});
答案 0 :(得分:0)
您可以使用ui bootstrap分页指令。 我使用的是旧版本,因此语法可能略有不同。 这是example
答案 1 :(得分:0)
只是猜测:你的pageChanged函数改变了$ scope.paginatedList,但你的ng-repeat绑定到searchDataValues而不是paginatedList。
这可能是您遇到麻烦的根源,但这只是猜测,因为您没有提供所有代码。
答案 2 :(得分:0)