3、在父组件中引入并使用组件
<template> <div> <!-- 分页组件 --> <Paging :name="name" @change="onPageChange" :page-size="size" :total="total" layout="jumper,total" :current-page="curPage" /> </div> </template> <!-- Paging属性 page-size 每页显示条目个数 total 总条目数 current-page 当前页数 layout 布局 默认不显示 jumper,total Paging事件 change 当前页改变时触发 --> <script> import Paging from '@/components/Paging'; export default { name: 'Index', components:{ Paging }, data () { return { msg: 'hello', name:'阿健a', size:10, total:201, curPage:1 } }, methods:{ onPageChange:function(page){ this.curPage = page.curPage; } } } </script> 遇到的问题1、在子组件中修改currentPage时报错
Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders在使用组件时,传入的prop,被组件内部又做了一次修改
避免直接修改prop,因为当父组件重新呈现时,值将被覆盖
解决
修改代码,通过emit传递curPage给父组件,让父组件修改
父组件监听事件更新curPage
onPageChange:function(page){ this.curPage = page.curPage; } 最后以上就是分页组件的整个实现过程 ,其实只要搞清楚父子组件是如何传参的,以及我们实现一个组件需要暴露哪些参数给父组件,整个实现过程还是不难的