关于无限循环更新
来源:4-8 派发更新(下)

MeSKiL
2019-10-31
老师这里有个问题我没想明白。
这里watcher里判断出无限循环了并给开发者报错。
但是我如果在update的回调里面更新了数据的话,浏览器还是会崩掉的。为啥Vue不在update里也做一个类似的限制呢。
是不好实现嘛
写回答
1回答
-
update 钩子的执行在循环后了这个时候 circular 已经 reset 了无法检测到。这个和 Vue 对于 watcher 回调执行机制和 update 钩子执行时机有关。目前的设计是先跑完所有的 watcher.run()再去执行所有的 updated 钩子里。
你在 update 里更新数据会无限 nextTick 执行 update 钩子逻辑,肯定会造成浏览器的假死的。012019-10-31
相似问题