Vue.nectTick() 是在下次DOM更新循环结束以后执行延迟回调,在修改数据以后使用$nextTick,则能够在回调中获取更新后的DOM(dom的改变是发生在nextTick()以后),这个方法做用是当数据被修改后使用这个方法,会回调获取更新后的dom再render出来dom
Vue.nextTick()做用:在下次dom更新循环结束以后,执行延迟回调。在修改数据以后当即使用这个方法,得到更新后的dom函数
一、Vue声明周期的created() 钩子函数进行的DOM操做必定要放在Vue.nextTick() 的回调函数中,由于created() 执行的时候DOM实际上并未进行任何渲染,此时进行DOM操做无异于徒劳,因此此处必定要将DOM操做的js代码放进Vue.nextTick()的回调函数中。spa
与之对应的就是mounted 钩子函数,由于该函数执行时全部的DOM挂载和渲染都已完成,此时再钩子函数中进行任何DOM操做都不会有问题。回调函数
二、在数据变化后要执行的某个操做,而这个操做须要使用随数据改变而改变的DOM结构的时候,这个操做应该放进Vue.nextTick() 的回调函数中钩子
简而言之,若是你在数据改变以后的操做跟改变以后的DOM有关,那么就应该使用Vue.nextTick()渲染