vue 为何采用异步渲染
2020-05-20 本文已影响0人
玲儿珑
理解:
如果不采取异步更新,那么每次更新数据都会对当前组件进行重新渲染,为了性能考虑,Vue 会在本轮数据更新后,再去异步更新数据。
Vue这样做的好处是,最终一次性更新DOM,避免重复操作DOM,耗费性能。
原理:
dep.notify() 通知 watcher 进行更新操作
-->subs[i].update() 依次调用 watcher 的 update
-->queueWatcher 将 watcher 重新放到队列中
-->nextTick(flushSchedulerQueue) 异步清空 watcher 队列