Vue生命函數(shù)的理解
kaim
發(fā)布于 云南 2018-09-25 · 2.2w瀏覽 3贊

  Vue實例從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載Dom→渲染、更新→渲染、卸載等一系列過程,我們稱這是Vue的生命周期,各個階段有相對應(yīng)的事件鉤子。


  生命周期鉤子函數(shù)


  beforeCreated階段,vue實例的掛載元素$el和數(shù)據(jù)對象data都為undefined,還未初始化。在created階段,vue實例的數(shù)據(jù)對象data有了,$el還沒有。


  在beforeMount階段,vue實例的$el和data都初始化了,但還是掛載之前為虛擬的dom節(jié)點,data.message還未替換。在mounted階段,vue實例掛載完成,data.message成功渲染。


  更新前/后:當data變化時,會觸發(fā)beforeUpdate和updated方法。


  銷毀前/后:在執(zhí)行destroy方法后,對data的改變不會再觸發(fā)周期函數(shù),說明此時vue實例已經(jīng)解除了事件監(jiān)聽以及和dom的綁定,但是dom結(jié)構(gòu)依然存在


  注意:


  created階段的ajax請求與mounted請求的區(qū)別:前者頁面視圖未出現(xiàn),如果請求信息過多,頁面會長時間處于白屏狀態(tài)


  mounted不會承諾所有的子組件也都一起被掛載。如果你希望等到整個視圖都渲染


  完畢,可以用vm.$nextTick


  


kaim
cc
瀏覽 2.2w
3
相關(guān)推薦
最新評論
贊過的人 3
評論加載中...

暫無評論,快來評論吧!