nextTick的原理是什么?

201 阅读1分钟

为什么需要nextTick?

1.Vue是异步修改DOM的并且不鼓励开发者直接接触DOM, 但有时候业务需要必须对数据更改--刷新后的DOM做相应的处理,这时候就可以使 用Vue.nextTick(callback)这个api了。

2.理解原理前的准备首先需要知道事件循环中宏任务和微任务这两个概念:

     2.1常 见的宏任务有script,setTimeout,setInterval,setImmediate,I/O,UIrendering 
     2.2常见的微任务有process.nextTick(Nodejs),Promise.then(),MutationObserver

3.理解nextTick的原理

正是Vue通过异步队列控制DOM更新和nextTick 回调函数先后执行的方式。 如果大家看过这部分的源码,会发现其中做了很多 isNative()的判断,因为这里还存在兼容性优雅降级的问题。可见Vue开发团队的 深思熟虑,对性能的良苦用心