vue watch监听对象及对应值的变化,让其新老值不一样
data:{
continueInfo:{
logisticsInfo:{
a: '我是a',
b: '我是b'
}
}
},
watch: {
continueInfo: {
handler: (val, olVal) => {
console.log('我变化了', val, olVal)
},
deep: true
}
},
如果continueInfo发生了变化,那么就会打印出val,olVal,但是他们打印出来的都是一样的。虽然可以监听到他的变化,但是如果先比较就不行了。
如果想要得到不同的值可以结合计算属性。注:监听的是continueInfoNew不是在data定义的,你想要看新老值的对象continueInfo,打印出来就会不一样了。
data:{
continueInfo:{
logisticsInfo:{
a: '我是a',
b: '我是b'
}
}
},
watch: {
continueInfoNew: {
handler: (val, olVal) => {
console.log('我变化了', val, olVal)
},
deep: true
}
},
computed: {
continueInfoNew() {
return this.continueInfo.freightEstimateinfoEntity.annexCost
}
}
网友评论