watcher的handler中是如何获取到oldVal的?

作者站长头像
站长
· 阅读数 15

watcher的handler中是如何获取到oldVal的?为什么在deep:true的情况下,Object引用类型的newVal和oldVal是一样的?

回复
1个回答
avatar
test
2024-07-16

v2的watcher实例是有一个value属性存储前一次的值,新的值是通过调用getter获取的,所以可以拿到旧值。

引用类型因为你并没有给它赋新值,所以它指向的是内存中的同一个对象,打印出来的也是同一个对象,如果你修改了这个对象上某个属性的值,可以直接将这个属性值打印来查看。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容