为了账号安全,请及时绑定邮箱和手机立即绑定

Vue 中 watch 不会触发的情况

Vue 中 watch 不会触发的情况

蓝山帝景 2019-02-14 14:12:19
Vue 中的watch主要用于监听 data 值,并执行一些自定义操作。若监听的 data 发生变化,则执行这些操作,反之则不执行。问题来了当watch监听一个data,arr当arr从[1]变为[],watch事件触发,当arr从[]变为[],watch不会出发因为 [] === [],为false所以觉得这边很奇怪请明白其中原因的大佬解释一下为何会发生这种原因。不胜感激
查看完整描述

2 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

[] == [] 当两个值都是对象 (引用值) 时, 比较的是两个引用值在内存中是否是同一个对象. 因为此 [] 非彼 [], 虽然同为空数组, 确是两个互不相关的空数组, 自然 == 为 false.


查看完整回答
反对 回复 2019-02-25
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

性能优化,如果数据没发生变化也要执行你在watch中的逻辑,这样框架设计明显不合理。


查看完整回答
反对 回复 2019-02-25
  • 2 回答
  • 0 关注
  • 4907 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信