文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何使用Vue代码实现一个分页组件

2023-07-04 12:13

关注

本篇内容主要讲解“如何使用Vue代码实现一个分页组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Vue代码实现一个分页组件”吧!

组件部分代码:

Vue.component('zpagenav', {  template: `<nav class="zpagenav">` +      `<ul class="page-ul">` +       `<li v-bind:key="index" v-for="(item,index) in pageList" v-bind:class ="item.class" @click.stop="setPage(item)" v-html="item.html">` +       `</li>` +      `</ul>` +      `<span class="total">共 {{total}} 条</span>` +     `</nav>`,  props: {   prevHtml: String,   nextHtml: String,   page: Number,   total: Number,   pageSize: Number,   maxPage: Number  },  computed: {   pageList: function () {    var _this = this, pageList = [];    let pageCount = Math.ceil(_this.total / _this.pageSize);    let page = _this.page;    let prevHtml = _this.prevHtml ? _this.prevHtml : '<';    let nextHtml = _this.nextHtml ? _this.nextHtml : '>';    let maxPage = _this.maxPage ? _this.maxPage : 9;     let hasPrev = page > 1;    let hasNext = page < pageCount;     //上一页    pageList.push({     class: hasPrev ? '' : 'disabled',     page: hasPrev ? page - 1 : page,     html: prevHtml    });     //首页    pageList.push({     class: page == 1 ? 'active' : '',     page: 1,     html: 1    });     var p0 = Math.floor(maxPage / 2);    var p1 = 1 + 2 + p0; //首页+省略至少2个页码+中间页面数的一半     var start, end;    if (page >= p1) {     start = page - p0;     //前置省略号     pageList.push({      class: 'dot',      page: page,      html: '...'     });    } else {     start = 2;    }     var p2 = page + p0;    if (p2 < pageCount) {     end = p2;    } else {     end = pageCount - 1;    }      //页码列表    for (let i = start; i <= end; i++) {     pageList.push({      class: page == i ? 'active' : '',      page: i,      html: i     });    }      if (end < pageCount - 1) {     //后置省略号     pageList.push({      class: 'dot',      page: page,      html: '...'     });    }      //尾页    if (pageCount > 1) {     pageList.push({      class: page == pageCount ? 'active' : '',      page: pageCount,      html: pageCount     });    }     //下一页    pageList.push({     class: hasNext ? '' : 'disabled',     page: hasNext ? page + 1 : page,     html: nextHtml    });     return pageList;   }  },  methods: {   setPage: function (item) {    if (item.class == '') {     this.$emit('pagehandler', item.page);    }   }  } });

Vue的优点

Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优势,Vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和dom,可以大大提升访问速度和用户体验。

到此,相信大家对“如何使用Vue代码实现一个分页组件”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯