Vue watch监听某个对象值的变化

使用vue的watch监听某个值变化的时候,可能会涉及到一些复杂对象的值,如:

data() {
 return {
   model: {
    salesPeople: '',
    saleStore: '',
    reportDate: '',
    inventoryClass: [],
    GySaleReportB: [{
     saleAmount: '',
     saleNum: ''
}]
},
};

一个model对象中包含了子对象(数组),这里希望在其中GySaleReportB数组中的某个对象值发生变化时,能实时进行数据监听的,可以写成如下:

watch: {
 model: {
  handler(valNew, valOld) {
   console.log('do job');
   },
  deep: true
}
},

其中主要是  deep: true 为关键属性,否则将无法监听到类似以上对象的值变化。

效果:

20210628152041.png

在售卖单价,或者售卖数量中输入数据时,实时计算合计值。


相关连接》》vue动态绑定表单对象

qrcode