2048
登录
没  有  难  学  的  前  端
登 录
×
<返回上一级

Vue 实用分页组件paging(页数太多时显示省略号)

vue.js分页javascriptcsshtml作者:猿2048志愿者

2017年6遇新是直朋能到分览支体调.26更新:

之前的版本在页数太多时依然每一页都显示,这显然不合理。增强版在页数太多时会显示省略号,且把分页组件单独提取出来,可以直接在其他页面引入使用。代码见: Paging.vue

也可以直接在JSfiddle中查看实现

———用,事少来最差端在事路原们这制码效移,动——————————下面是之前的版本—————————朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上屏屏———

直接上代码。只有一个小小的需要注意的点:vue1.x的v-for循环是从0开始,遵从了程序语言设计的一贯的做法,而vue2.x是从1开始的,符合我们平常的习惯。用下来还是vue2.x的做法方便一些,不需要绕一下子了。

你也可以 直接在jsfiddle中查看

//html
<div id="paging">
<span v-on:click="switchPage(curPage - 1)">prev</span>
<span v-for="item in sum" v-bind:class="{'current-page': item == curPage}" v-text="item" v-on:click="switchPage(item)"></span>
<span v-on:click="switchPage(curPage + 1)">next</span>
</div>
//js
var paging = new Vue({
  el: '#paging',
  data: {
    sum: 4, //总页数
    curPage: 1, //当前页
  },
  methods: {
    getBooks: function(page){
      //页面初始化函数
    },
    switchPage: function(page){
      var vm = this;
      if(page < 1) {
        page = 1;
      } else if(page > vm.sum) {
        page = vm.sum;
      }
      vm.getBooks(page);
      vm.curPage = page;
    },
  }
})
//css
span {
  display: inline-block;
  margin: 3px;
  width: 35px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  color: pink;
  background: #fff;
  border-radius: 5px;
}
span.current-page,
span:hover {
  color: #fff;
  background: pink;
}

图片描述

参考文章:
https://segmentfault.com/a/11...

本文来源于网络:查看 >
【推荐】帖子搞不懂,找猿2048老师指导一下?
« 上一篇:三栏布局总结
» 下一篇:三列布局
猜你喜欢
(十万案例免费下载)
评论
点击刷新
评论
阿里云
相关博文
推荐案例
×添加代码片段