解决组件之间props双向绑定问题

解决方式一:

  • 在data对象中创建一个值,如visible
  • 使用watch监听props属性中对应的值 ,如value,
  • watch 赋予data副本 来同步组件外对props的修改,始终保持data中的值等于父组件传递过来的值
  • 当data中的值变化时,触发父组件的自定义事件
  // 子组件





//父组件



优点:解决了 父子组件之间props 双向绑定的问题;
缺点: 在父级调用 子组件的时候,还需要写一个 modalVisibleChange 的方法,而且子组件还需要写方法控制组件的显示和隐藏,代码过于冗长,且难以理解。

解决方式二:通过.sync






// 父组件



解决方式三:(推荐)

  • 使用 v-model 实现组件props的双向绑定
 // modal组件





// 父组件调用modal组件
 
export default {
 name: 'app',
 data () {
 return {
  isShow:true
 }
 }
}

你可能感兴趣的:(解决组件之间props双向绑定问题)