博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue angular 分别实现分页
阅读量:4709 次
发布时间:2019-06-10

本文共 4932 字,大约阅读时间需要 16 分钟。

1 vue实现分页组件

paginate组件

在父组件中进行引用

  

angularjs实现分页指令

.directive('paginate', ['$http', function($http){            return {                scope: {                    query: '&',                    params: '=',                    result: '=',                    page: '=',                    loading: '='                },                restrict: 'E',                template: [                    '
', '
', '
', '
', '
', '
', '
', '
共 {
{pageCount}} 页,
', '
共 {
{result.total}} 条记录
', '
' ].join(''), link: function($scope, iElm, iAttrs) { $scope.codeNum = 5 $scope.codes = [] $scope.$watch('result', function() { $scope.pageCount = getPageCount($scope.result.total, $scope.params.pageSize) $scope.codes = getCodes($scope.pageCount, parseInt($scope.params.pageNum) ,$scope.codeNum) }) // 计算总页数 function getPageCount(total, pageSize) { var a = total%pageSize if(a == 0) { return parseInt(total/pageSize) } else { return parseInt(total/pageSize) + 1 } } // 计算页码显示 function getCodes(pageCount, index, codeNum){ if(pageCount <= codeNum) { return getArray(1, pageCount) } else { if(index <= (codeNum + 1)/2) { return getArray(1, codeNum) } if(index >= (pageCount- (codeNum - 1)/2)) { return getArray(pageCount-codeNum+1, pageCount) } return getArray(index-(codeNum - 1)/2, index+(codeNum - 1)/2) } } function getArray(start, end) { var arr = [] for (var i = start; i <= end; i++) { arr.push(i) } return arr } $scope.go = function(goPage) { if(!goPage) { if($scope.goPage) goPage = $scope.goPage } if(goPage == $scope.params.pageNum) { return } if(goPage == '0' || !goPage || goPage > $scope.pageCount || goPage < 0) { return } else { $scope.page.index = goPage } $scope.query() } $scope.pre = function() { if($scope.params.pageNum < 2) { return } else { $scope.page.index = $scope.params.pageNum -1 } $scope.query() } $scope.next = function() { if($scope.pageCount == 0){ return } if($scope.params.pageNum == $scope.pageCount) { return } else { $scope.page.index = $scope.params.pageNum + 1 } $scope.query() } } }; }])

  引用时将对应的改指令文件引入,在html里面写入

  

  对应的样式设置

.p-btn {    border: none;    cursor: pointer;    color: #333;    padding: 6px 14px;    font-size: 12px;    display: inline;    background: #fff;    border: solid 1px #30363e;    height:30px;}.p-btn:hover {    background-color: rgba(63, 74, 89, 0.5);}.p-btn-active {    background-color: #3f4a59;    color: #fff;}

  

 

转载于:https://www.cnblogs.com/xhliang/p/8379197.html

你可能感兴趣的文章
filter 过滤器(监听)
查看>>
node启动时, listen EADDRINUSE 报错;
查看>>
杭电3466————DP之01背包(对状态转移方程的更新理解)
查看>>
python--注释
查看>>
SQL case when else
查看>>
SYS_CONTEXT 详细用法
查看>>
Pycharm配置autopep8让Python代码更符合pep8规范
查看>>
我的第一篇博客
查看>>
【C++算法与数据结构学习笔记------单链表实现多项式】
查看>>
C#垃圾回收机制
查看>>
31、任务三十一——表单联动
查看>>
python之hasattr、getattr和setattr函数
查看>>
maven使用阿里镜像配置文件
查看>>
Copy code from eclipse to word, save syntax.
查看>>
arguments.callee的作用及替换方案
查看>>
Centos 6.5下的OPENJDK卸载和SUN的JDK安装、环境变量配置
查看>>
【.Net基础03】HttpWebRequest模拟浏览器登陆
查看>>
zTree async 动态参数处理
查看>>
Oracle学习之常见错误整理
查看>>
数据库插入数据乱码问题
查看>>