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
      }
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • var vm=new Vue({ data:{ a:1, b:{ c:1 }...
    Jony0114阅读 4,099评论 0 0
  • 一:什么是闭包?闭包的用处? (1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就 是将函数内部和函数外...
    xuguibin阅读 10,004评论 1 52
  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 3,784评论 0 6
  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,233评论 0 2
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,160评论 0 29

友情链接更多精彩内容