起因是父组件改变input绑定值时一直无效,打印数据却显示赋值成功,切换几次值又显示出来,尝试过watch监控也无效,最后找到这个方法后成功赋值,记录一下😑
let data = [
{
a: [
{
b: {value:''}
}
]
}
]
let obj = data[0].a[0].b;
obj.value = '测试';
data[0].a[0].b = obj;
this.infoData = Object.assign([], data);
补充:一定一定一定一定一定要注意类型!!!!!!看下图,我的infoData是数组类型但是我给的是对象,导致后面找BUG找够呛,一定要注意!
更新!!!!!!!!!!!!
根据最新经验,本人发现并不是因为watch不生效,而是我是用的方式不对😅,正确打开方式如下:
子组件:
props: {
config: {
type: Object, // 接收值为对象
default: () => {
return {};
}
}
},
watch: {
config: {
handler(newdata, oldName) {
console.log(newdata)
},
immediate: true, // 一定要加
deep: true // 一定要加!!!深度监听
}
},
父组件就不用多说了,这样父组件有改动子组件就会更新啦!!!!!!!!