问题描述
如题目所述,贴出自己的解决方案,无非是父传子,子接收,通过深度监听,然后子传父,父组件值改变
update 和sync结合 ,节省父组件接收事件,在事件中改变值的步骤
父组件
<div class="new_musical" @click="audio_bind">
<Icon type="ios-musical-notes" />
</div>
<audioModal :audio_show.sync="audio_show"></audioModal>
父组件改变子组件的方法:
audio_bind:function() {
this.audio_show = true
}
子组件 Modal是个弹出层, bindCanle方法是关闭弹出层,通过子组件向父组件传值,改变其状态
<Modal v-model="audio_modal" width="410" footer-hide @on-visible-change="bindCanle">
watch:{
audio_show:{
handler (val, oldVal) {
this.audio_modal=val
}
}, deep:true,immediate: true
},
bindCanle(e) {
this.$emit('update:audio_show',e)
}