Vue.js实现一个自定义分页组件vue-paginaiton
vue实现一个分页组件vue-paginaitonvue使用了一段时间的感触就是,我再也不想直接操作DOM了。数据绑定式的编程体验真是好。实现的一个分页组件。 这里的css就不放出来了,可以看直接去github上下载: 先上一张实例图吧 模版 <li v-for = "index in pagenums"> <li v-if="showNextText"><a v-on:click="cur++">下一页 在未引入js前,页面的显示,分析下,all字段简单直接输出即可,{{index}}是分页码这个需要一些动态的渲染。 调用 new Vue({参数}) 就是创建了一个基本的组件,赋值给变量 app.el就是element的缩写,定位模版的位置.data就是数据了.知道了总页数但是要显示页码还是要一番计算,所以显示页码就是计算属性了.所以我们要用computed <div class="jb51code"> return pageArr; 观看html模版发现v-if指令.很明显当内容是true就输出,否就没。 重点看下 v-for是循环渲染输出计算属性pagenums.每一次循环的子元素赋值给index v-bind:class绑定class,当渲染到目前的角标的时候加个class v-on:click是绑定了事件,我把index当参数传进入了,后面做判断,默认传event事件. 然后我们Vue的选项里面再增加methods字段 子组件通过$diapatch(),分发事件,父组件冒泡通过v-on:page-change监听到相应的事件;
};
}
}
组件交互组件写完了,问题来了,用户点击发生页面改变,你怎么通知其他组件作出相应的变化. 可以在页角发生改变的函数下,插一条语句通知其他组件。不过这种方法是很差的做法。可以使用 观察了currentpage数据当它改变的时候,可以获取前后值。然后通知其他组件。 完整的代码可以看 本文已被整理到了《》,欢迎大家学习阅读。 关于vue.js组件的教程,请大家点击专题进行学习。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |