Javascript 如何显示每页显示多少项的信息,AngularJs分页
我这里的问题是如何显示每页上显示了多少项 例如,我有50个项目显示分页。每页10个,所以我想知道当前显示的项目数量。例如,在第一页“显示从1到10的项目”,在第二页“显示从11到20的项目” HTML代码:Javascript 如何显示每页显示多少项的信息,AngularJs分页,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,我这里的问题是如何显示每页上显示了多少项 例如,我有50个项目显示分页。每页10个,所以我想知道当前显示的项目数量。例如,在第一页“显示从1到10的项目”,在第二页“显示从11到20的项目” HTML代码: <div ng-controller="MyCtrl"> <ul> <li ng-repeat="item in data | startFrom:currentPage*pageSize | limitTo:pageSize">
<div ng-controller="MyCtrl">
<ul>
<li ng-repeat="item in data | startFrom:currentPage*pageSize | limitTo:pageSize">
{{item}}
</li>
</ul>
<button ng-disabled="currentPage == 0" ng-click="currentPage=currentPage-1">
Previous
</button>
{{currentPage+1}}/{{numberOfPages()}}
<button ng-disabled="currentPage >= data.length/pageSize - 1" ng-click="currentPage=currentPage+1">
Next
</button>
</div>
-
{{item}}
以前的
{{currentPage+1}}/{{numberOfPages()}
下一个
安格拉斯
var app=angular.module('myApp', []);
function MyCtrl($scope) {
$scope.currentPage = 0;
$scope.pageSize = 9;
$scope.start = 0;
$scope.end = 0;
$scope.data = [];
$scope.numberOfPages=function(){
return Math.ceil($scope.data.length/$scope.pageSize);
}
for (var i=0; i<45; i++) {
$scope.data.push("Item "+i);
}
}
//We already have a limitTo filter built-in to angular,
//let's make a startFrom filter
app.filter('startFrom', function() {
return function(input, start) {
start = +start; //parse to int
return input.slice(start);
}
});
var-app=angular.module('myApp',[]);
函数MyCtrl($scope){
$scope.currentPage=0;
$scope.pageSize=9;
$scope.start=0;
$scope.end=0;
$scope.data=[];
$scope.numberOfPages=函数(){
返回Math.ceil($scope.data.length/$scope.pageSize);
}
对于(var i=0;i第一次更新angular到最新版本,1.4.8。这一点很重要,因为在1.1.5之后,你可以在表达式中使用三元语句。看起来你的大部分逻辑都在你的视图中,虽然有些人可能会说你应该将其移动到控制器或某个服务中,但最终还是取决于你。我已经将逻辑放在视图中,以匹配您最初的示例
以下是添加的逻辑:
{{(currentPage)*pageSize}} -
{{(currentPage >= data.length/pageSize - 1)?
data.length-1:(currentPage)*pageSize+pageSize-1}}
这是小提琴: