vue中为什么要nextTick()

92 阅读1分钟

首先看一下官方文档中nextTick()的解释:

屏幕截图 2023-07-05 173233.png 然后我们在vue项目中将nextTick打印出来看一下

屏幕截图 2023-07-05 173656.png

控制台输出如下:

屏幕截图 2023-07-05 173843.png

可以看出来nextTick()本质上就是将回调传入一个关于DOM更新的Promise的then中,作为完成之后调用的回调函数。

结论

vue中的DOM更新是一个异步操作,所以用同步代码去操作DOM是获取不到更新之后的DOM状态的,所以就需要nextTick()这个api来将你的回调延迟到DOM更新完成之后去调用.