【vue】nextTick

用法:在下次 DOM 更新循环结束之后执行延迟回调。

因为:Vue 在更新 DOM 时是异步执行

应用场景

需要在视图更新之后,基于新的视图进行操作。
当项目中你想在改变DOM元素的数据后基于新的dom做点什么,对新DOM一系列的js操作都需要放进Vue.nextTick()的回调函数中;通俗的理解是:更改数据后当你想立即使用js操作新的视图的时候需要使用它

怎么做到的

把回调函数放入callbacks等待执行
将执行函数放到微任务或者宏任务中
事件循环到了微任务或者宏任务,执行函数依次执行callbacks中的回调

nextTick 与 setTimeout 的区别

nextTick优先放入微任务执行,而setTimeout是宏任务,因此nextTick一般情况下总是先于setTimeout执行

你可能感兴趣的:(Vue)