如:我想把vant的popup组件加一些东西封装组件APopup
// APopup.vue
<template>
<van-popup v-model="show" position="bottom">
<div>
<p>封装后的组件A</p>
<p>封装后的组件A</p>
<p>封装后的组件A</p>
<p>封装后的组件A</p>
<p>封装后的组件A</p>
<p>封装后的组件A</p>
<p>封装后的组件A</p>
</div>
</van-popup>
</template>
<script>
export default {
model: {
event: 'change'
},
data() {
return {
show: false
}
},
}
</script>
那么我在其他组件使用APopup的时候,也想用v-model控制APopup的显示和隐藏
我的思路是另外声明prop,然后watch这个prop和data里的show,触发watch后派发change事件。
但是这样比较麻烦,有其他方法可以更好地实现吗
$attrs 和 $listeners了解一下