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