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


Posted in Javascript onDecember 25, 2017

分页组件在项目中经常要用到之前一直都是在网上找些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,发现这些相似框架排除过渡动画,页面展示都是通过后台发过来或者前端模拟的数据来 渲染页面,当然这只是相通的一小部分,也是这类框架基本思想。

代码地址:https://github.com/hgchenhao/component

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

Javascript 相关文章推荐
JavaScript中对象属性的添加和删除示例
May 12 Javascript
仿JQuery输写高效JSLite代码的一些技巧
Jan 13 Javascript
jQuery使用之标记元素属性用法实例
Jan 19 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 Javascript
JavaScript动态修改网页元素内容的方法
Mar 21 Javascript
使用jquery清空、复位整个输入域
Apr 02 Javascript
js命名空间写法示例
Dec 18 Javascript
关于JS变量和作用域详解
Jul 28 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
Oct 10 Javascript
vue.js初学入门教程(1)
Nov 03 Javascript
微信小程序授权获取用户详细信息openid的实例详解
Sep 20 Javascript
AngularJS动态添加数据并删除的实例
Feb 27 Javascript
jQuery图片查看插件Magnify开发详解
Dec 25 #jQuery
AngularJS实现的生成随机数与猜数字大小功能示例
Dec 25 #Javascript
推荐10款扩展Web表单的JS插件
Dec 25 #Javascript
jQuery实现右侧抽屉式在线客服功能
Dec 25 #jQuery
用React-Native+Mobx做一个迷你水果商城APP(附源码)
Dec 25 #Javascript
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 #jQuery
Webpack优化配置缩小文件搜索范围
Dec 25 #Javascript
You might like
适用于抽奖程序、随机广告的PHP概率算法实例
2014/04/09 PHP
dedecms集成财付通支付接口
2014/12/28 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
浅析Yii2中GridView常见操作
2016/04/22 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
详解自定义ajax支持跨域组件封装
2018/02/08 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
vue 解决form表单提交但不跳转页面的问题
2019/10/30 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
js实现网页版贪吃蛇游戏
2020/02/22 Javascript
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
python提取内容关键词的方法
2015/03/16 Python
深入理解Python中命名空间的查找规则LEGB
2015/08/06 Python
详解Python验证码识别
2016/01/25 Python
详解Python中的相对导入和绝对导入
2017/01/06 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
python用线性回归预测股票价格的实现代码
2019/09/04 Python
Python logging模块进行封装实现原理解析
2020/08/07 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
2021/02/06 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
民事授权委托书范文
2014/08/02 职场文书
商业计划书范文
2019/04/24 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
Apache Hudi 加速传统的批处理模式
2022/04/24 Servers