Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何显示每页显示多少项的信息,AngularJs分页_Javascript_Jquery_Html_Angularjs - Fatal编程技术网

Javascript 如何显示每页显示多少项的信息,AngularJs分页

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">

我这里的问题是如何显示每页上显示了多少项

例如,我有50个项目显示分页。每页10个,所以我想知道当前显示的项目数量。例如,在第一页“显示从1到10的项目”,在第二页“显示从11到20的项目”

HTML代码:

<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}}
这是小提琴: