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 相关文章推荐
用prototype实现的简单小巧的多级联动菜单
Mar 24 Javascript
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
Jan 22 Javascript
自己写了一个展开和收起的多更能型的js效果
Mar 05 Javascript
Bootstrap每天必学之按钮(一)
Nov 24 Javascript
jQuery获取cookie值及删除cookie用法实例
Apr 15 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
Dec 08 Javascript
Javascript中for循环语句的几种写法总结对比
Jan 23 Javascript
JavaScript中利用构造器函数模拟类的方法
Feb 16 Javascript
ES6中的箭头函数实例详解
Apr 06 Javascript
vue.js中toast用法及使用toast弹框的实例代码
Aug 27 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
Nov 30 Javascript
layui实现三级导航菜单
Jul 26 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
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
smarty简单应用实例
2015/11/03 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
php微信公众号开发之音乐信息
2018/10/20 PHP
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
2012/02/16 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
javascript中错误使用var造成undefined
2016/03/31 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
详解angular element()方法使用
2017/04/08 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
2019/04/28 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
ant design实现圈选功能
2019/12/17 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
Python httplib模块使用实例
2015/04/11 Python
Python构建网页爬虫原理分析
2017/12/19 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
Python接口测试数据库封装实现原理
2020/05/09 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
党员岗位承诺书
2014/03/25 职场文书
房产继承公证书
2014/04/09 职场文书
九一八事变演讲稿范文
2014/09/14 职场文书
大学军训心得体会800字
2016/01/11 职场文书
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python