nextTick:在下次DOM更新循环结束后执行延迟回调
由于vue中DOM更新是异步执行,即修改数据时,视图不会立即更新,而是会监听数据的变化,并缓存在同一事件循环中,等同一数据循环中的所有 数据变化完成后,再统一进行视图更新。
vue中的nextTick主要用于处理数据动态变化后,DOM 还未及时更新的问题,用nextTick可以获取数据更新后,最新的dom变化
什么时候用?
- 当我们需要在生命周期的created()函数进行一些DOM操作的时候,一定要把相关代码放在Vue.nextTick()的回调函数中。因为:在created钩子函数中,DOM还未进行任何渲染,此时进行DOM操作没用,如果要在这里操作dom,要将相关js放入Vue.nextTick()回调函数中。
- 在数据变化后要执行某个动作而这个动作需要使用随数据变化而变化的DOM结构时,需要把相关逻辑写入Vue.nextTick()回调函数中。