vue 中 this.$nextTick()說明及使用

$nextTick

  Vue.nectTick() 是在下次DOM更新循環結束之後執行延遲迴調,在修改數據之後使用$nextTick,則可以在回調中獲取更新後的DOM(dom的改變是發生在nextTick()之後),這個方法作用是當數據被修改後使用這個方法,會回調獲取更新後的dom再render出來

  Vue.nextTick()作用:在下次dom更新循環結束之後,執行延遲迴調。在修改數據之後立即使用這個方法,獲得更新後的dom

在以下兩個情況下需要用到Vue.nextTick() 

1、Vue聲明週期的created() 鉤子函數進行的DOM操作一定要放在Vue.nextTick() 的回調函數中,因爲created() 執行的時候DOM實際上並未進行任何渲染,此時進行DOM操作無異於徒勞,所以此處一定要將DOM操作的js代碼放進Vue.nextTick()的回調函數中。

  與之對應的就是mounted 鉤子函數,因爲該函數執行時所有的DOM掛載和渲染都已完成,此時再鉤子函數中進行任何DOM操作都不會有問題。

2、在數據變化後要執行的某個操作,而這個操作需要使用隨數據改變而改變的DOM結構的時候,這個操作應該放進Vue.nextTick() 的回調函數中

簡而言之,如果你在數據改變之後的操作跟改變之後的DOM有關,那麼就應該使用Vue.nextTick()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章