问题:
data(){
return{
addRuleForm:{
policy:[]
}
}
}
watch: {
addRuleForm: {
handler(newVal, bVal) {
//输出的旧值与新值完全一样 原因是因为咱们监听的值是这个复杂数据类型中还包含这复杂数据类型
console.log(newVal, bVal);
},
deep: true,
},
},
解决方案:主要是用computed给每次的给深拷贝计算一下
computed:{
newAddRuleForm() {
return JSON.parse(JSON.stringify(this.addRuleForm));
},
},
watch: {
newAddRuleForm: {
handler(newVal, bVal) {
console.log(newVal, bVal); //这时输出的值就正常了
},
deep: true,
},
},