溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue的生命周期有哪些階段

發(fā)布時間:2022-12-27 11:44:26 來源:億速云 閱讀:113 作者:iii 欄目:web開發(fā)

這篇文章主要講解了“vue的生命周期有哪些階段”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“vue的生命周期有哪些階段”吧!

有4大階段:1、初始化階段,包含beforeCreate(創(chuàng)建前)和created(創(chuàng)建后)兩個小階段;2、掛載階段,包含beforeMount(載入前)和mounted(載入后)兩個小階段;3、更新階段,包含beforeUpdate(更新前)和updated(更新后)兩個小階段;4、銷毀階段,beforeDestroy(銷毀前)和destroyed(銷毀后)兩個小階段。

生命周期就是組件從創(chuàng)建到銷毀的整個過程。也就是從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載 Dom→渲染、更新→渲染、卸載等一系列過程,我們稱這 是 Vue 的生命周期

生命周期鉤子函數(shù)就是在生命周期某個時間點自動觸發(fā)的函數(shù),作用是在特定的時間點,可以執(zhí)行特定的操作。

Vue生命周期 總共有 11 個,一般又分為常用和不常用兩部分,那我們先來談一談常用的階段。

先來官方的圖鎮(zhèn)樓:

vue的生命周期有哪些階段

我們常用的又可以分為4大階段,8個方法

一、初始化階段

1. beforeCreate (創(chuàng)建前)

       在實例初始化之后,數(shù)據(jù)觀測 (data observer) 和 event/watcher 事件配置之前被調用。

即此時vue(組件)對象被創(chuàng)建了,但是vue對象的屬性還沒有綁定,如data屬性,computed屬性還沒有綁定,即沒有值。

2. created (創(chuàng)建后)

當組件實例創(chuàng)建完畢之后自動觸發(fā),vue對象的屬性有值了,但是DOM還沒有生成,$el屬性還不存在。此時有數(shù)據(jù)了,一般會在這個鉤子函數(shù)中進行數(shù)據(jù)的獲取,但是這個時候dom結構還沒有解析,所以無法操作dom。

二、掛載階段

3. beforeMount (載入前)

       在掛載開始之前被調用:相關的 render 函數(shù)首次被調用。在這個階段,vue實例的 $el 和 data都初始化了,此時 this.$el有值,但還是掛載在之前的虛擬的 dom 節(jié)點,data.message還未替換,數(shù)據(jù)還沒有掛載到頁面上。

4. mounted (載入后)

在 mounted 階段,vue 實例掛載完成, data.message 成功渲染。即:此時已經把數(shù)據(jù)依據(jù)掛載到了頁面上,所以,頁面上能夠看到正確的數(shù)據(jù)了。

一般來說,我們在此處發(fā)送異步請求(ajax,fetch,axios等),獲取服務器上的數(shù)據(jù),顯示在DOM里。

三、更新階段

5. beforeUpdate (更新前)

       數(shù)據(jù)更新時調用,vue(組件)對象對應的dom中的內部(innerHTML)還沒有變,這里適合在更新之前訪問 ,現(xiàn)有的 DOM,比如手動移除已添加的事件監(jiān)聽器。該鉤子在服務器端渲染期間不被調用,因為只有初次渲染會在服務端進行。

6. updated (更新后)

由于數(shù)據(jù)更改導致的虛擬 DOM 重新渲染和打補丁,在這之后會調用該鉤子。

四、銷毀階段

7. beforeDestroy (銷毀前)

       實例銷毀之前調用。在這一步,實例仍然完全可用。該鉤子在服務器端渲染

期間不被調用。

8. destroyed (銷毀后)

       Vue 實例銷毀后調用。調用后,Vue 實例指示的所有東西都會解綁定,所有

的事件監(jiān)聽器會被移除,所有的子實例也會被銷毀。該鉤子在服務器端渲染期間

不被調用。

五、剩余不常用的鉤子函數(shù)

       剩余的三個鉤子函數(shù),用的比較少,了解一下就行了。

9. activated  (組件激活時)

       keep-alive 組件激活時調用。該鉤子在服務器端渲染期間不被調用。

10. deactivated  (組件失活時)

keep-alive 組件停用時調用。該鉤子在服務器端渲染期間不被調用。

11. errorCaptured(2.5.0+ 新增) (捕獲到錯誤時)

當捕獲一個來自子孫組件的錯誤時被調用。此鉤子會收到三個參數(shù):錯誤對象、發(fā)生錯誤的組件實例 以及一個包含錯誤來源信息的字符串。此鉤子可以返回 false 以阻止該錯誤繼續(xù)向上傳播。

感謝各位的閱讀,以上就是“vue的生命周期有哪些階段”的內容了,經過本文的學習后,相信大家對vue的生命周期有哪些階段這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

vue
AI