我有一个分页窗格。我有一个大小为 42 的数组。第一页显示 24 个 div 元素,第二页显示其余 18 个元素。
我的问题是如何在第 1 页中显示元素 1 到 24,在第二页中显示元素 19 到 42 - 这意味着我需要在这两页中重叠元素。
实现的html代码如下:
<div class = "addPage" ng-repeat="item in selectedItems.itemsArr| startFrom:currentPage*pageSize | limitTo:pageSize"> Item{{$index+1}}
</div>
对于以上情况:
页面大小=24,
currentPage=0(单击“下一步”时更改为 1)
执行相同操作的 JS 代码如下(遵循这个小提琴:http://jsfiddle.net/2ZzZB/56/):
.filter('startFrom', function() {
return function(input, start) {
if (!input || !input.length) { return; }
else{
start = +start; //parse to int
return input.slice(start);
}
}
});
使用中的函数startFrom:
过滤器,您可以控制数据集中最后一页的显示。这可以保持结果显示大小一致,并为您提供所需的数据重叠。
更新的小提琴:http://jsfiddle.net/zr9nd0rx/1/
<li ng-repeat="item in data | startFrom: startFromCalculator()| limitTo:pageSize">
$scope.startFromCalculator = function() {
if ($scope.currentPage + 1 == Math.ceil($scope.data.length/$scope.pageSize)) {
return $scope.data.length - $scope.pageSize;
} else {
return $scope.currentPage*$scope.pageSize;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)