Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。想了解更多,请戳http://cn.vuejs.org/
html代码:
<div class="page-bar" v-else> <ul> <li style="width: 11%" v-if="showFirst"> <a v-on:click="cur--"> <<</a> </li> <li v-for="index in indexs" v-bind:class="{ 'active': cur == index}"> <a v-on:click="btnClick(index)">{{index}}</a> </li> <li style="width: 11%" v-if="showLast"><a v-on:click="cur++"> >></a></li> <li style="width: 22%;margin-left: 7%"><a>共<i>{{all}}</i>页</a></li> </ul> </div>
css部分,可根据自己的实际需要进行调整:
.page-bar { margin-top: 21px; margin-left: 11%; } .page-bar ul, .page-bar li { margin: 0px; padding: 0px; } .page-bar ul li { list-style: none; border: 1px solid #ddd; text-decoration: none; position: relative; float: left; text-align: center; padding: 1px 0; margin-left: -1px; line-height: 1.42857143; color: #337ab7; cursor: pointer; width: 8%; } .page-bar li:first-child>a { margin-left: 0px } .page-bar .active a { color: #fff; cursor: default; background-color: #337ab7; border-color: #337ab7; } .page-bar i { font-style: normal; color: #d44950; margin: 0px 4px; font-size: 12px; }
js部分:
首先要创建一个基本组件
var vm = new Vue({ el: 'body', data: { list: null, all: 1, //总页数 cur: 1, //当前页码 },
继而要利用computed计算页码,
computed: { indexs: function(index) { var left = 1; var right = this.all; var ar = []; if (this.all >= 11) { if (this.cur > 5 && this.cur < this.all - 4) { left = this.cur - 5; right = this.cur + 4; } else { if (this.cur <= 5) { left = 1; right = 10; } else { right = this.all; left = this.all - 9; } } } while (left <= right) { ar.push(left); left++; } return ar; }, showLast: function() { if (this.cur == this.all) { return false } return true }, showFirst: function() { if (this.cur == 1) { return false } return true } }
要给 元素加v-on:click="cur++"事件,所以要在vue里加method方法:
methods: { btnClick: function(items) { //页码点击事件 if (items != this.cur) { this.cur = items } } },
其实到这里基本上就差不多了,但是可以优化一下,当用户触发点击事件时,页面发生改变,这时要通知其他组件做出改变。
watch: { cur: function(oldValue, newValue) { console.log(arguments) } }
观察了cur数据当它改变的时候,可以获取前后值。然后通知其他组件。
后期会在个人GitHub上提交完整版代码
补充效果图展示
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍基于Bootstrap3表格插件和分页插件实例详解,包括了基于Bootstrap3表格插件和分页插件实例详解的使用技巧和注意事项,需要的朋友参考一下 首先看下实现效果图,如果觉得还不错,请参考实现代码。 上面数据 下面分页 使用方法 1 导入bootstrap的css 2 导入jquery 3 导入表格分页插件 lTable.js 4 添加html标签 并对id 赋值 5 获取数据
pre { white-space: pre-wrap; } jQuery EasyUI 插件 通过 $.fn.pagination.defaults 重写默认的 defaults。 分页(pagination)允许用户通过翻页导航数据。它支持页面导航和页面长度选择的可配置选项。用户可以在分页的右侧添加自定义按钮来增强功能。 依赖 linkbutton 用法 通过标记创建分页(pagination
本文向大家介绍基于vue的fullpage.js单页滚动插件,包括了基于vue的fullpage.js单页滚动插件的使用技巧和注意事项,需要的朋友参考一下 基于vue的fullpage.js使用方法,供大家参考,具体内容如下 功能概述 可实现移动端的单页滚动效果,支持横向滚动和纵向滚动 兼容性 目前还未进行大规模兼容性测试。有bug请提问至issues 安装 commonjs 或 文档 api文档
本文向大家介绍SpringBoot 使用Mybatis分页插件实现详解,包括了SpringBoot 使用Mybatis分页插件实现详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了SpringBoot 使用Mybatis分页插件实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1、导入分页插件包和jpa包 2、增加分页配置 配
本文向大家介绍mybatis分页插件pageHelper详解及简单实例,包括了mybatis分页插件pageHelper详解及简单实例的使用技巧和注意事项,需要的朋友参考一下 mybatis分页插件pageHelper详解及简单实例 工作的框架spring springmvc mybatis3 首先使用分页插件必须先引入maven依赖,在pom.xml中添加如下 其次需要在配置文件中添加配置,有两
本文向大家介绍PHP基于反射机制实现插件的可插拔设计详解,包括了PHP基于反射机制实现插件的可插拔设计详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP基于反射机制实现插件的可插拔设计。分享给大家供大家参考,具体如下: 说PHP和ASP等同的朋友们可以就此打住了,PHP支持反射,而且还是非常的强大。好了,我们开始今天的话题。 功能描述: 页面拥有一个主导航菜单,里头有默认连接若干。