Javascript AngularJS动态分页:如何限制最大可见按钮数

Javascript AngularJS动态分页:如何限制最大可见按钮数,javascript,node.js,angularjs,pagination,Javascript,Node.js,Angularjs,Pagination,在阅读了大量分页插件之后,我不理解并手动在mongoose、angularjs、express和node stack中创建了一个 现在,在我的客户机代码中,我有result中的项目总数(每次页面更改时都会从服务器获取结果),因此它们是动态的,而不是固定的,因为可能会有实时更新。所以在我的ui中,我在写- div.pagination-user.pull-right a.page.gradient(ng-class="{disabled:currentPag

在阅读了大量分页插件之后,我不理解并手动在mongoose、angularjs、express和node stack中创建了一个 现在,在我的客户机代码中,我有result中的项目总数(每次页面更改时都会从服务器获取结果),因此它们是动态的,而不是固定的,因为可能会有实时更新。所以在我的ui中,我在写-

div.pagination-user.pull-right
                    a.page.gradient(ng-class="{disabled:currentPage == 0}",ng-click="prevPage()") Prev
                    a.page.gradient(ng-repeat="n in range(1,totalItems)",ng-class="{active: n == currentPage}",ng-click="setPage()",ng-bind="n",ng-show="Math.abs(currentPage-n)<3") 1
                    a.page.gradient(ng-class="{disabled:currentPage == pagedItems.length-1}",ng-click="nextPage()") Next
div.pagination-user.pull-right
a、 gradient(ng class=“{disabled:currentPage==0}”,ng click=“prevPage()”)Prev

a、 page.gradient(ng repeat=“n in range(1,totalItems)”,ng class=“{active:n==currentPage}”,ng click=“setPage()”,ng bind=“n”,ng show=“Math.abs(currentPage-n)您尝试过用#ngTasty进行分页吗?

angular.module('app').controller('PaginationDemoCtrl', function($scope,$filter, mvUser) {
    $scope.itemsPerPage = 2;
    $scope.currentPage = 1;
    var paginatedResults = function(page){
        var result = mvUser.query({page:page},function(res){
            $scope.maxSize = 5;
            $scope.totalItems = Math.ceil(res.count/$scope.itemsPerPage);
            $scope.currentPage = res.current;
            $scope.pagedItems = res.results;
        },function(err){
            console.log("some error");
        })
    };
    $scope.setPage = function () {
        $scope.currentPage = this.n;
        paginatedResults($scope.currentPage);
    };
    $scope.prevPage = function () {
        if ($scope.currentPage > 0) {
            $scope.currentPage--;
            paginatedResults($scope.currentPage);
        }
    };
    $scope.range = function (start, end) {
        var ret = [];
        if (!end) {
            end = start;
            start = 0;
        }
        for (var i = start; i < end; i++) {
            ret.push(i);
        }
        return ret;
    };

    $scope.nextPage = function () {
        if ($scope.currentPage < $scope.totalItems - 1) {
            $scope.currentPage++;
            paginatedResults($scope.currentPage);
        }
    };


    paginatedResults($scope.currentPage);

});