一、vue例項的生命週期
生命週期鉤子=生命週期函式=生命週期事件
建立期間的生命週期函式(1)beforecreate()
剛初始化了乙個vue空的例項化物件,這個物件身上只有預設的生命週期和預設的事件,其他東西都還沒有背建立。
在beforecreate生命週期函式執行的時候,data和methods中的資料都還沒有初始化
(2)created()
在created()中,data和methods都已經被初始化好了!
也就是說,如果要呼叫methods中的方法,或者操作data中的資料,最早只能在created()中操作
(3)beforemount()
beforemount執行的時候,模版已經在記憶體中編譯好了,但是還沒有掛載到頁面中去,此時頁面還是舊的
(4)mounted()
記憶體中的模版已經真實地掛載到了頁面中,使用者可以看到渲染好的頁面了
注意:mounted是例項建立期間最後乙個生命週期,當執行完mounted後,就表示例項已經被完全建立好了。此時,元件已經脫離了建立階段,進入執行階段。
此時,如果沒有其他操作的話,這個例項,就一直在記憶體中不動
如果要通過某些外掛程式操作頁面上的dom節點,最早要在mounted中進行
// beforecreate()
export
default},
methods:},
beforecreate()
,};<
/script>
created()
//created()
export
default},
methods:},
created()
,};<
/script>
//beforemount()
'text'
>
}<
/h3>
<
/div>
<
/template>
export
default},
methods:},
beforemount()
}},}
;<
/script>
//mounted()
'text'
>
}<
/h3>
<
/div>
<
/template>
export
default},
methods:},
beforemount()
,};<
/script>
執行期間的生命週期函式
注意:beforeupdate()和updated()這兩個事件,會根據data資料的改變,有選擇性的進行觸發,觸發0次到多次,當data資料改變時,才會觸發beforeupdate()
(1)beforeupdate()
當執行beforeupdate的時候,頁面中的顯示的資料,還是舊的,此時data中的資料是新的,頁面尚未和最新的資料同步
(2)updated()
當執行updated時候,頁面和data資料已經保持同步了,都是最新的
銷毀期間的生命週期函式
(1)beforedestory()
當執行beforedestory的時候,vue例項就已經從執行階段到了銷毀階段,此時例項上所有的data和methods以及過濾器等都處於可用的階段,此時還沒有真正執行銷毀過程
(2)destroyed()
當執行destroyed()的時候,元件已經完全被銷毀了,data和methods以及過濾器等都不可用了
附上vue官方生命週期圖:
VUE的生命週期詳解
1.beforecreate 建立前 在資料觀測和初始化事件還未開始 beforecreate function 2.created 建立後 完成資料觀測,屬性和方法的運算,初始化事件,el屬性還沒有顯示出來 created function 3.beforemount 載入前 在掛載開始之前被呼叫...
vue生命週期詳解
vue生命週期分為八個階段 建立前後 掛載前後 更新前後 銷毀前後 beforecreate和create鉤子函式間的生命週期 檢測資料,來檢測資料是否變化了,然後初始化事件 create和beforemount鉤子函式間的生命週期 首先判斷有沒有el選項 1.如果沒有的話就暫時停止了生命週期,等待...
vue生命週期詳解
最近在寫業務的時候,總是會遇到一些和vue的生命週期相關的問題,比如 你用ajax請求資料,然後將資料props到子元件的時候,因為ajax是非同步的,然後會發生沒有資料。然後查詢原因還是自己對這個東西理解不夠深入。什麼是生命週期函式?比如 mounted function 或者 mounted 複...