angular-utils-pagination是基于angular,bootstrap,jquery的一个分页插件,详细介绍以及使用方法参照:
Git:https://github.com/michaelbromley/angularUtils/tree/master/src/directives/pagination
1:使用bower安装
y@y:app01$ bower install angular-utils-pagination --save
2:界面
3:控制器
tbody
tr(dir-paginate="a in adviceList | itemsPerPage:pageSize " current-page="currentPage" total-items="totalItems")
td(style="vertical-align:middle") {{pageSize*(currentPage-1)+$index+1}}
td(style="vertical-align:middle") {{a.nsrsbh}}
td(style="vertical-align:middle") {{a.nsrmc}}
td(style="vertical-align:middle") {{a.bjsjh}}
td(style="vertical-align:middle") {{a.type}}
td(style="vertical-align:middle") {{a.version}}
td(style="vertical-align:middle") {{a.content}}
td(style="vertical-align:middle") {{a.date | getLocalTimeFilter}}
.text-center
dir-pagination-controls(boundary-links="true" on-page-change="pageChangeHandler(newPageNumber)")
//分页参数 $scope.currentPage = 1; $scope.pageSize = 2; $scope.totalItems = 0; $scope.adviceList = []; /** * 获取意见反馈列表 */ $scope.getAdviceList = function(){ $http.get('/api/advices/'+$scope.currentPage).success(function(result) { $scope.adviceList = result.advices; $scope.totalItems = result.totalItems; }).error(function(){ alert("网络错误"); }); }; /** * 翻页操作 * @param newPageNumber */ $scope.pageChangeHandler = function(newPageNumber){ $scope.getAdviceList(); };
4:服务端
// Get list of advices exports.index = function(req, res) { var pageSize = 2; var currentPage = req.params.currentPage; var start = (currentPage-1)*pageSize; Advice.find({active:true}).skip(start).limit(pageSize).exec(function (err, advices) { if(err) { return handleError(res, err); } Advice.count({active:true},function(err,totalItems){ if(err) { return handleError(res, err); } return res.json(200, {advices:advices,totalItems:totalItems}); }); }); };