2017-03-27 4 views
0

私はangularjsを使用してページネーションを実行しようとしています。私は配列内のすべてのページ番号を取得することができましたが、次と戻るボタンを使って一度に10ページしか表示する方法がわかりません。anglejs上のすべてのページの配列のみのページ分割

これまでのところ、私はすべてのページの配列を持っています。各ページに表示するすべてのレコードの合計数です(各ページに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ブートストラップの改ページ指示を確認してください。私はそれが私の現在の使用のための十分な機能を持っており、それに付随する徹底的なテスト仕様を持っているので、ここに掲載されているものよりむしろそれを使用し終わった。例

<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リンクを参照してください