2017-03-27 23 views
0

我一直在尝试使用angularjs进行分页。我已经设法将所有的页码都放入数组中,但我不确定如何使用Next和Back按钮一次只查看10页。仅使用angularjs上所有页面的数组进行分页

到目前为止,我有一个所有页面的数组,我想在每个页面上显示所有记录的总数(每个页面上有30个)。像这样:

$scope.showPagingSequence = function() { 
     if ($scope.showNumberPagingStats) { 
      if ($scope.PageNum < $scope.dynamicReport.PageCount) { 
       for (var i = 1; i <= $scope.dynamicReport.PageCount; i++) { 
        $scope.PageNumbers.push(i); 
       } 
      } 
     } 
    } 

这是我如何实现它在我的HTML,

<div ng-model="showPagingSequence()"> 
       <ul class="pagination" ng-repeat="pages in PageNumbers"> 
        <li><a href="#" ng-click="setPageNumber(pages)">  {{pages}}</a></li> 
       </ul> 
</div> 

如何限制我的分页,只查看了下一步和后退按钮的网页数量有限?

回答

0

查看UI Bootstrap的分页指令。我最终使用了它,而不是这里发布的内容,因为它具有足够的功能用于我目前的使用,并且有一个完整的测试规范来伴随它。例如

<pagination 
ng-model="currentPage" 
total-items="todos.length" 
max-size="maxSize" 
boundary-links="true"> 
</pagination> 

JS

todos.controller("TodoController", function($scope) { 
$scope.filteredTodos = [] 
    ,$scope.currentPage = 1 
    ,$scope.numPerPage = 10 
    ,$scope.maxSize = 5; 

$scope.makeTodos = function() { 
    $scope.todos = []; 
    for (i=1;i<=$scope.dynamicReport.PageCount;i++) { 
    $scope.todos.push({ text:"todo "+i, done:false}); 
    } 
}; 
$scope.makeTodos(); 

$scope.$watch("currentPage + numPerPage", function() { 
    var begin = (($scope.currentPage - 1) * $scope.numPerPage) 
    , end = begin + $scope.numPerPage; 

$scope.filteredTodos = $scope.todos.slice(begin, end); 
}); 
}); 

请到进一步澄清

this链接
相关问题