vue分页组件
<template>
<div>
<ul class="pagination">
<li @click="goTo(1)"><a>首页</a></li>
<li v-show="current != 1" @click="goTo(current-1)"><a>上一页</a></li>
<li v-for="index in pages" @click="goTo(index)" :class="{'active':current == index}" :key="index">
<a>{{index}}</a>
</li>
<li v-show="allPage != current && allPage != 0 " @click="goTo(current+1)"><a>下一页</a></li>
<li v-on:click="goTo(allPage)"><a>尾页</a></li>
</ul>
</div>
</template>
<script>
export default {
name: 'pagination',
props: ['showItem','allPage'],
computed: {
pages() {
var pag = [];
if (this.current < this.showItem) {
var i = Math.min(this.showItem, this.allPage);
while (i) {
pag.unshift(i--);
}
} else {
var middle = this.current - Math.floor(this.showItem / 2),
i = this.showItem;
if (middle > (this.allPage - this.showItem)) {
middle = (this.allPage - this.showItem) + 1
}
while (i--) {
pag.push(middle++);
}
}
return pag
},
current(){
return this.$route.params.page || 1
}
},
methods: {
goTo(index) {
// 点击后路由跳转
this.$router.push({
params: {
page: index
}
})
}
}
}
</script>
<style lang="scss">
.pagination {
position: relative;
text-align: center;
}
.pagination li {
display: inline-block;
margin: 0 5px;
cursor: pointer;
}
.pagination li a {
padding: 10px 13px;
display: inline-block;
border: 1px solid #f3f3f3;
background: #fff;
color: green;
}
.pagination li a:hover {
background: #eee;
}
.pagination li.active a {
background: #DE333A;
color: #fff;
border: 1px solid #DE333A;
}
</style>
组件说明:路由中的page是动态路由,props中的showItem表示要显示多少页,allPage表示一共多少页。
路由跳转后,你可以在父组件中的created钩子中根据路由请求数据

vue分页组件的更多相关文章
- 基于 bootstrap 的 vue 分页组件
申手党点这里下载示例 基于 bootstrap 的 vue 分页组件,我想会有那么一部分同学,在使用Vue的时候不使用单文件组件,因为不架设 NodeJS 服务端.那么网上流传的 *.vue 的各种分 ...
- java+springBoot+Thymeleaf+vue分页组件的定义
导读 本篇着重介绍java开发环境下,如何写一个vue分页组件,使用到的技术点有java.springBoot.Thymeleaf等: 分页效果图 名称为vuepagerbasic的分页组件,只包含上 ...
- vue分页组件table-pagebar
之前一直接触都是原始的前端模型,jquery+bootstrap,冗杂的dom操作,繁琐的更新绑定.接触vue后,对前端MVVM框架有了全新的认识.本文是基于webpack+vue构建,由于之前的工作 ...
- 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件
第三章 建议学习时间8小时 总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...
- vue分页组件重置到首页问题
分页组件,可以借用这个老哥的@暴脾气大大https://www.cnblogs.com/sebastian-tyd/p/7853188.html#4163272 但是有一个问题就是下面评论中@ Mrz ...
- VUE 分页组件
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- vue分页组件二次封装---每页请求特定数据
关键步骤: 1.传两个参数:pageCount (每页条数).pageIndex (页码数): 2.bind方法的调用 <!-- 这部分是分页 --> <div class=&quo ...
- vue分页组件火狐中出现样式问题
分页的操作到了火狐浏览器会样式 怎么解决? 其实就是将input的type属性变成了text,因为number属性会变成上下的小箭头
- 手把手教你使用Vue/React/Angular三大框架开发Pagination分页组件
DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师.官方网站:devui.designNg组件库:ng-devui(欢迎S ...
随机推荐
- Hbase常用Shell命令
status 查看系统状态 hbase(main):010:0> status 1 active master, 0 backup masters, 4 servers, 0 dead, 6.5 ...
- spring-boot 速成(1) helloworld
一.mac上安装 $ brew tap pivotal/tap $ brew install springboot 安装成功后,可在终端查看命令行 ➜ ~ spring --versionSprin ...
- J-Link GDB Server Command
J-Link GDB Server - SEGGER Hilden, Germany – September 15th, 2011 – SEGGER Microcontroller today ann ...
- NSString 多行的写法和区别
NSString *str = @"aaaa\ aaaa\ bbbb\ aaaa"; NSString *str1 = @"bbbb" "cccc&q ...
- 还在为工作发愁?学JavaScript吧
事实上,每家专业招聘机构,从Glassdoor.com和Linkedin到美国劳工部,都报导了就业市场对开发人员需求的增长速度出于意料地快.这种需求可能已经不新鲜了,但是就业市场对哪种开发语言的需求量 ...
- SQL SERVER 2005 数据库置疑修复
alter database 置疑数据库 set emergency go alter database 置疑数据库 set single_user with rollback immediate g ...
- Android四大组件应用系列5——使用AIDL实现跨进程调用Service
一.问题描述 Android应用程序的四大组件中Activity.BroadcastReceiver.ContentProvider.Service都可以进行跨进程.在上一篇我们通过ContentPr ...
- 日志分析利器elk与logback(log4j)实战
https://blog.csdn.net/puhaiyang/article/details/69664891
- 【FTP】FTP服务器的搭建
记录一下FTP服务器的搭建首先打开 程序和功能>打开或关闭Windows功能 进入到Windows功能界面:勾选FTP服务器.然后再在IIS界面,新建一个网站.右键网站,选择“添加到FTP发布” ...
- 【SqlServer】SqlServer的常规操作
创建一张新表,不负责任何数据(该表不会有原来表的主键.索引等等) select * into NewTable from OldTable where 1<>1; 创建一张新表,并且复制旧 ...