用途:
在视图更新之后,基于新的视图进行操作
使用nextTick中的回调函数,在下一次更新DOM更新循环结束之后执行回调
为什么使用$nextTick?
DOM更新是异步操作,在数据更新完成之后,DOM不会立即更新,而是等同一事件循环中的所有数据变化完成之后,在统一进行视图更新。所以使用$nextTick可以使同步任务在DOM更新完成之后去执行。
例如:
- 获取设置输入框由隐藏变为显示,再去获取这个DOM元素就需要使用$nextTick
- 在 created 和 mounted 阶段,如果需要操作渲染后的试图,也要使用 nextTick 方法。
- 注意 mounted 不会承诺所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,可以用 vm.$nextTick 替换掉 mounted
原理
事件循环(Event Loop)看这里