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()渲染