VUE 生命週期的鉤子函式介紹

2021-10-04 21:13:39 字數 2325 閱讀 8743

生命週期

vue 例項或元件(元件本質上就是乙個具有預定義選項的例項)建立到銷毀的一系列過程,就叫做生命週期

生命週期的鉤子函式

在生命週期不同的階段中會自動執行的函式,就叫做生命週期的鉤子函式

生命週期可以分為三個大階段

• 初始化掛載階段

i.beforecreate

ii.created

iii.beforemount

iv.mounted

• 更新階段

i.beforeupdate

ii.updated

• 銷毀階段

i.beforedestroy

ii.destroyed

生命週期的鉤子函式有:

• beforecreate 例項建立之前 觸發一次

• created 例項建立完成 觸發一次

• beforemount 例項掛載到頁面之前 掛載前 觸發一次

• mounted 例項掛載到頁面之後 掛載完成 觸發一次

• beforeupdate 例項資料更新之前 可能觸發多次

• updated 例項資料更新完成,頁面得到更新 可能觸發多次

• beforedestroy 例項銷毀之前 觸發一次

• destroyed 例項銷毀完成 觸發一次

beforecreate

例項建立之前

• 獲取不到 vm.$el

• 獲取不到 vm.$data

• 乙個生命週期過程中,只會觸發一次

• 一般沒什麼大用。不用去操作它

created

例項建立完成

• 獲取不到 vm.$el

• 能獲取到 data 選項中的資料了。能呼叫 methods 選項中函式了。

• 乙個生命週期過程中,只會觸發一次

• 在這裡傳送 ajax 請求獲取頁面一開啟就需要的資料

beforemount

例項掛載之前

掛載的意思是:vue 解析模板資料完成,並替換到真實的dom上面。

• 通過 vm.$el 獲取不到真實的dom

• 想一想能不能獲取 data 與 methods 中的 東西?當然可以。之前的都可以的難道越活越過去麼?

• 乙個生命週期過程中,只會觸發一次

• 一般沒什麼大用。不用去操作它

mounted

例項掛載完成

• 能夠獲取到真實的dom

• 想一想能不能獲取 data 與 methods 中的 東西?當然可以。之前的都可以的難道越活越過去麼?

• 乙個生命週期過程中,只會觸發一次

• 初始化與dom相關的操作,需要放在這兒。比如 swiper 的例項化

beforeupdate

例項更新之前

• 能得到資料更新之前的dom。但是得不到資料更新之後的dom

• 乙個生命週期過程中,可能會觸發多次

• 不要在這裡去修改資料,也不要去傳送非同步請求 (你怕死迴圈不)

• 一般沒什麼大用。不用去操作它

updated

例項更新完成

• 能得到資料更新之後的dom

• 乙個生命週期過程中,可能會觸發多次

• 不要在這裡去修改資料,也不要去傳送非同步請求 (你怕死迴圈不)

• 一般用於真實dom更新之後的操作。比如 swiper 的更新

beforedestroy

例項銷毀之前

• 做一些銷毀工作,比如 計時器的清除、全域性事件繫結的銷毀等工作

destroyed

例項銷毀完成

• 解除資料繫結、事件監聽

• 沒什麼大用。不用去操作它

vue生命週期,鉤子函式

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

vue 生命週期(鉤子函式)

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

vue生命週期鉤子函式

什麼是生命週期?vue中的生命週期指的是 元件 從建立到銷毀乙個過程,在這個過程中,我們在每乙個特定的階段會觸發一些方法 這些方法具備一些功能 我們給這些方法起了個名字叫做 生命週期鉤子函式 元件鉤子 為什麼要學習生命週期?因為我們想在生命週期鉤子中實現專案功能,那麼我們必須知道每乙個鉤子函式的具體...