1  <div class=" panel-default ng-cloak ng-table-pager" style="clear:both;padding-left:0px;margin-top:-30px;height:50px;max-width: 1200px;">    
 2                 <div class="ng-table-counts btn-group pull-right" style="padding-left:30px;">
 3                     <span>每页显示</span> 
 4                     
 5                    <select ng-model="pageSize" id="itemType"  ng-change="setpageSize()" style="width: 110px; padding: 5px;height: 35px;">
 6                         <option ng-repeat="x in pageSizeList"  ng-selected="x == pageSize">{{x}}</option>
 7                    </select> 
 8                    
 9                     <span>条数据</span>
10                 </div>    
11                 <div data-ng-if="pages.length" class="ng-table-counts btn-group pull-right">
12                     <ul class="pagination ng-table-pagination" style="margin-top:0px;">
13                         <li data-ng-class="{'active': !page.active && page.type != 'more' }" data-ng-repeat="page in pages" data-ng-switch="page.type">
14                             <a data-ng-switch-when="prev" data-ng-click="gotoPage(page.number)" href=""> &laquo; </a> 
15                             <a data-ng-switch-when="first" data-ng-click="gotoPage(page.number)" href=""><span data-ng-bind="page.number"></span></a> 
16                             <a data-ng-switch-when="page" data-ng-click="gotoPage(page.number)" href=""><span data-ng-bind="page.number"></span></a> 
17                             <a data-ng-switch-when="more" href="">&#8230;</a> 
18                             <a data-ng-switch-when="last" data-ng-click="gotoPage(page.number)" href=""><span data-ng-bind="page.number"></span></a> 
19                             <a data-ng-switch-when="next" data-ng-click="gotoPage(page.number)" href=""> &raquo; </a></li>
20                     </ul>
21                 </div>
22                 
23             </div>  
define(["app",
        "bootstrapJs"
],function (app) {

    var deps = ["$scope","$rootScope","$modal", "$state", "$stateParams"];

    function controller($scope,$rootScope,$modal, $state, $stateParams) {

        
        $scope.docItemList = [];
        
        $scope.currentPage = $rootScope.docIndexCurrentPage || 1;
        $scope.pageSize = 10;
           $scope.pageSizeList = [10,20,50,100,200];

        function queryDocFileList(){
            AlicebotResource.queryDocFileList($scope.showItemId,$scope.currentPage,$scope.pageSize).success(function(data){
                $scope.docItemList = data.docItemList;

       //  data.total ———— 查询信息的总条目数

generatePagesArray($scope, data.total); }); } queryDocMenue();
/** * 点击某一页 * @param page */ $scope.gotoPage = function(page){ $scope.currentPage = page; $rootScope.docIndexCurrentPage = $scope.currentPage; queryDocFileList(); }; $scope.nextPage = function(){ $scope.currentPage++; $rootScope.docIndexCurrentPage = $scope.currentPage; queryDocFileList(); }; $scope.upPage = function(){ $scope.currentPage--; $rootScope.docIndexCurrentPage = $scope.currentPage; queryDocFileList(); }; $scope.setpageSize = function(){ $scope.currentPage = 1; $rootScope.docIndexCurrentPage = $scope.currentPage; queryDocFileList(); } } /** * 分页计算设置 */ function generatePagesArray($scope, totalItems) { var maxBlocks, maxPage, maxPivotPages, minPage, numPages; maxBlocks = 11; $scope.pages = []; numPages = Math.ceil(totalItems / $scope.pageSize); if (numPages > 1) { if($scope.currentPage != 1){ $scope.pages.push({ type: 'prev', currentNum : $scope.currentPage, number: Math.max(1, $scope.currentPage - 1), active: $scope.currentPage > 1 }); } $scope.pages.push({ type: 'first', currentNum : $scope.currentPage, number: 1, active: $scope.currentPage > 1 }); maxPivotPages = Math.round((maxBlocks - 5) / 2); minPage = Math.max(2, $scope.currentPage - maxPivotPages); maxPage = Math.min(numPages - 1, $scope.currentPage + maxPivotPages * 2 - ($scope.currentPage - minPage)); minPage = Math.max(2, minPage - (maxPivotPages * 2 - (maxPage - minPage))); var i = minPage; while (i <= maxPage) { if ((i === minPage && i !== 2) || (i === maxPage && i !== numPages - 1)) { $scope.pages.push({ type: 'more', active: false }); } else { $scope.pages.push({ type: 'page', number: i, currentNum : $scope.currentPage, active: $scope.currentPage !== i }); } i++; } $scope.pages.push({ type: 'last', number: numPages, currentNum : $scope.currentPage, active: $scope.currentPage !== numPages }); if($scope.currentPage < numPages){ $scope.pages.push({ type: 'next', currentNum : $scope.currentPage, number: Math.min(numPages, $scope.currentPage + 1), active: $scope.currentPage < numPages }); } } } controller.$inject = deps; return app.lazy.controller("DocIndexController", controller); });

 带样式效果图: