Vue 3 生命週期鉤子函式

2021-10-23 13:12:57 字數 1336 閱讀 9278

可以直接匯入on***一族的函式來註冊生命週期鉤子:

import

from

'vue'

const mycomponent =

)onupdated((

)=>

)onunmounted((

)=>)}

,}

這些生命週期鉤子註冊函式只能在setup()期間同步使用, 因為它們依賴於內部的全域性狀態來定位當前元件例項(正在呼叫 setup() 的元件例項), 不在當前元件下呼叫這些函式會丟擲乙個錯誤。

元件例項上下文也是在生命週期鉤子同步執行期間設定的,因此,在解除安裝元件時,在生命週期鉤子內部同步建立的偵聽器和計算狀態也將自動刪除。

1、與 2.x 版本生命週期相對應的組合式 api

beforecreate -> 使用 setup()

created -> 使用 setup()

beforemount -> onbeforemount

mounted -> onmounted

beforeupdate -> onbeforeupdate

updated -> onupdated

beforedestroy -> onbeforeunmount

destroyed -> onunmounted

errorcaptured -> onerrorcaptured

2、新增的鉤子函式

除了和 2.x 生命週期等效項之外,組合式 api 還提供了以下除錯鉤子函式:

onrendertracked

onrendertriggered

兩個鉤子函式都接收乙個 debuggerevent,與 watcheffect 引數選項中的 ontrack 和 ontrigger 類似:

export

default

,}

provide 和 inject 提供依賴注入,功能類似 2.x 的 provide/inject。兩者都只能在當前活動元件例項的 setup() 中呼叫。

import

from

'vue'

const themesymbol =

symbol()

const ancestor =,}

const descendent =},

}

inject 接受乙個可選的的預設值作為第二個引數。如果未提供預設值,並且在 provide 上下文中未找到該屬性,則 inject 返回 undefined。

vue3的生命週期鉤子與vue2生命週期對比理解

對於vue的生命週期想必大家都非熟悉,在專案中非常常用 生命週期 伴隨著生命週期,給使用者使用的函式,操控生命週期,主要是操控鉤子函式。vue2 vue3 beforecreate setup created setup beforemount onbeforemount mounted onmou...

vue生命週期,鉤子函式

一 vue生命週期簡介 咱們從上圖可以很明顯的看出現在vue2.0都包括了哪些生命週期的函式了,總結一下,對官方文件的那張圖簡化一下,就得到了這張圖。二 生命週期 對於執行順序和什麼時候執行,看上面圖基本有個了解了。下面我們將結合 去看看鉤子函式的執行。鉤子函式 1.create 和 mounted...

vue 生命週期(鉤子函式)

new vue 例項物件,下一步進入beforcreate 狀態 當使用new vue 建立物件之前,執行的事件 這裡可以做載入動畫 下一步,進入created 然後,他會檢測是否有el屬性,如果有在檢測template屬性型別,是一段渲染的函式還是一段html 然後就進入了beforemount狀...