欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue的一个分页组件的示例代码

程序员文章站 2022-05-21 07:52:53
分页组件在项目中经常要用到之前一直都是在网上找些jq的控件来用(逃..),最近几个项目用上vue了项目又刚好需要一个分页的功能。具体如下: 文件page.vue为一个pc...

分页组件在项目中经常要用到之前一直都是在网上找些jq的控件来用(逃..),最近几个项目用上vue了项目又刚好需要一个分页的功能。具体如下:

文件page.vue为一个pc端的分页组件,基础的分页功能都有,基本的思路是,页面是用数据来展示的,那就直接操作相关数据来改变视图

getting started

import page from './page.vue' 从目录引入该文件,在父组件注册使用

复制代码 代码如下:

<page :total='total' :current-index="currentindex" :listlen='listlen' @getpage='getpage'></page>

total:总页码
currentindex:当前页码
listlen:页面ui要显示几个列表页
getpage: page组件把每个事件的页码发送给父组件,用来向后台发送相关请求来展示内容

about page.vue

html 部分

<ul class="item" v-show="arr.length">
    <li @click="start">首页</li>
    <li @click="pre"><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><<</a></li>  上一列表页
    <li @click="currentpre"><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><</a></li>   点解当前列表页上一页
    <li v-for="(item,index) in arr" :class="{active: item===num}" @click="getpage(item)">{{item}}</li>
    <li @click="currentnext"><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >></a></li>  点解当前列表页下一页
    <li @click="next"><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >>></a></li>  下一列表页
    <li @click="end">尾页</li>
  </ul>

相关数据说明

data() {
  return {
   num: number, //表示当前页码高亮
   arr: [], //页面显示的数组
   page: number, //一页显示多少个,可以自定义,不能大于总页码
   remainder:number, //是否整除
   merchant:number, // 比较总页数和page页
  };
 },
 props: {
  //分页的总数
  total: {
   type: number,
   default: 5
  },
  //当前页
  currentindex: {
   type: number,
   default: 1
  },
  //一个列表页显示多少页码
  listlen:{
   type: number,
   default: 5
  }
 },

methods 里面的相关事件,思路主要是判断当前列表页的第一项和最后一项.通过循环来该变arr成员的值

bash

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

之前用ember.js写过一个类似组件,现在基于vue2.0封装一个,方便以后用于不同项目,可以拿来直接使用.

小总结:之前也接触过ng4,发现这些相似框架排除过渡动画,页面展示都是通过后台发过来或者前端模拟的数据来 渲染页面,当然这只是相通的一小部分,也是这类框架基本思想。

代码地址:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。