vue分页,87行代码完美实现,长得帅的都已经转载了,丑的还在犹豫
来源:互联网 发布:泰国mac口红便宜吗 编辑:程序博客网 时间:2024/04/29 17:47
当你看到这篇文章的时候,我已经假设你对VUE有了一定的了解!
上源码:
<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/><meta charset="utf-8"><script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script><style>ul,li{margin: 0px;padding: 0px;list-style: none;}.pager{margin:10px;}.pager li:first-child>a {margin-left: 0px;}.pager a{border: 1px solid #ddd;text-decoration: none;position: relative;float: left;padding: 6px 12px;margin-left: -1px;line-height: 1.42857143;color: #337ab7;cursor: pointer; -moz-user-select:none;/*火狐*/ -webkit-user-select:none;/*webkit浏览器*/ -ms-user-select:none;/*IE10*/ user-select:none;}.pager a:hover{background-color: #eee;}.pager a.banclick{cursor:not-allowed;}.pager .active a{color: #fff;cursor: default;background-color: #337ab7;border-color: #337ab7;}.pager i{font-style:normal;color: #d44950;margin: 0px 4px;font-size: 12px;}</style></head><body><div class="pager"> <ul> <li v-if="current>1"><a v-on:click="current--,pageClick()">上一页</a></li> <li v-if="current==1"><a class="banclick">上一页</a></li> <li v-for="index in indexs" v-bind:class="{ 'active': current == index}"> <a v-on:click="btnClick(index)">{{ index }}</a> </li> <li v-if="current!=allpage"><a v-on:click="current++,pageClick()">下一页</a></li> <li v-if="current == allpage"><a class="banclick">下一页</a></li> <li><a>共<i>{{allpage}}</i>页</a></li> </ul></div><script type="text/javascript">var pageBar = new Vue({ el: '.pager', data: { allpage: 20, //总页数 current: 1 //当前页码 }, watch: { current: function(oldValue , newValue){ console.log(arguments);//打印节点信息 } }, methods: { btnClick: function(data){//页码点击事件 if(data != this.current){ this.current = data //重写,点哪个选中哪个 } }, pageClick: function(){ console.log('现在在'+this.current+'页');//打印当前是第几页 } }, computed: { indexs: function(){var left = 1;//设定左为1var right = this.allpage;//右为全部页数var array = [];//定义一个数组,用来循环输出if(this.allpage>= 5){//如果页数大于等于5的时候,保证中间显示5个if(this.current > 3 && this.current < this.allpage-2){//大于5个的情况left = this.current - 2 //左边-2right = this.current + 2 //右边+2}else{if(this.current<=3){//等于5个的情况left = 1right = 5}else{//中间已经不够显示5个的情况right = this.allpageleft = this.allpage -4}}}while (left <= right){//循环出数组array.push(left)left ++}return array //返回数组 } }})</script></body></html>
自己看吧,都有注释,看不明白,留评论!
阅读全文
0 0
- vue分页,87行代码完美实现,长得帅的都已经转载了,丑的还在犹豫
- 转眼间已经54期都已经开课了,送给还在努力的朋友
- 在一堆人还在犹豫《SEO实战密码》是否值得购买的时候,在下已经收藏了1/10的签名版
- 在你还在犹豫要学哪一门语言的时候,人家早就开始说不定已经学到一定层次了。
- 自己写了一个链表功能还不完善但是简单的增删改查功能都已经实现了
- 他所有的情商和智商都还停留在原地,可是,我再却已经走出了好远好远。。。
- 他实现了AlphaGo Zero的算法,发现可能还得训练1700年 | 代码
- 时光已经远去,你还在犹豫什么?
- 形容长得丑的29条妙语
- 形容长得丑的29条妙语
- 形容长得丑的29条妙语
- 形容长得丑的经典30句
- 形容长得丑的经典30句
- 形容长得丑的30句经典句子
- Activity已经销毁了,线程还在运行的问题
- Activity已经销毁了,线程还在运行的问题
- 呵呵,都已经快忘记了,这里还写过一篇发泄的留言啊!
- 已经迫不及待的长智齿了
- 文件及数据流技术
- SDN控制器Floodlight--容错部署(FT)
- javaScript函数提升(Hoisting)及作用域(Scoping)
- LeetCode 318 Maximum Product of Word Lengths
- python+selenium自动化能打开火狐浏览器打开不开网址
- vue分页,87行代码完美实现,长得帅的都已经转载了,丑的还在犹豫
- Tomcat 配置详解/优化方案
- tomcat自定义jdk路径
- 关于HTML5中的拖拽
- Shell Scripts--鸟哥私房菜读书笔记
- Viusal 各个版本离线镜像
- OpenStack实例创建失败
- nginx与php工作原理总结
- 对notifyDataSetChanged与notifyDataSetInvalidated的区别