关于flushSchedulerQueue的问题

来源:4-8 派发更新(下)

xjtumj

2018-08-06

http://img.mukewang.com/szimg/5b67202700014d5b11240246.jpg

不是很理解Vue在flushQueue的时候,为什么要在run之前将has复位,如果run中的代码导致相同id的Watcher被触发update,理应在同一个tick中触发一次就好,如果不复位也就没有infinite loop的问题了,老师知道这里是有什么edge case吗?

写回答

1回答

ustbhuangyi

2018-08-06

如果不复位的话,之后怎么把这个 id 的 watcher 添加到队列里呢?

0
10
Arey_jy
回复
xjtumj
has放到run之后清空的话,那在 watcher 的回调里再添加相同 id 的 watcher,此时 id 没有清空,那也就不会添加到 queue 中啊
2018-11-12
共10条回复

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4984 学习 · 1037 问题

查看课程