目前的解决办法是,在子组件中给传递的 props 属性减少 watch 监听办法
1. 在父组件中
<!-- 媒体附加信息 -->
<media-extra-info
ref="mediaExtraInfoRef"
:mediaEnName="mediaInfo.en_name"
:maroList="maroList"
:editExtraInfo="initMediaExtraInfo"
@handleChildMediaChange="handleChildMediaChange"
/>
2. 在子组件中给父组件传来的值减少监听
//2- 1 通过 props 定义承受的父组件传值
props: {
mediaEnName:{
type: String,
default: ""
},
maroList{
type: Array,
default(){return []
}
},
editExtraInfo: { // 编辑时的信息
type: Object,
default(){return {}
}
}
},
//2-2 给传值 editExtraInfo 减少监听,有扭转则执行 handler 办法
watch:{
editExtraInfo: {handler(newData, oldData) {this.init()
},
deep: true // 深度监听
},
},
有没有不加 watch 的办法,待有工夫钻研,或晓得的同学请留言