vue watch监听对象及对应值的变化,让其新老值不一样

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
      }
    }

你可能感兴趣的:(vue watch监听对象及对应值的变化,让其新老值不一样)