前言:
鉤子就好像是把人的出生到死亡分成乙個個階段,你肯定是在出生階段起名字,而不會在成年或者死亡的階段去起名字。或者說你想在出生階段去**,也是不行的。元件也是一樣,每個階段它的內部構造是不一樣的。所以一般特定的鉤子做特定的事,比如ajax獲取資料就可以在mounted階段。
一、vue生命週期簡介
咱們從上圖可以很明顯的看出現在vue2.0都包括了哪些生命週期的函式了,總結一下,對官方文件的那張圖簡化一下,就得到了這張圖。
二、生命週期**
對於執行順序和什麼時候執行,看上面圖基本有個了解了。下面我們將結合**去看看鉤子函式的執行。
鉤子函式
}
1. create 和 mounted
beforecreated:el 和 data 並未初始化另外在標紅處,我們能發現el還是 },這裡就是應用的 virtual dom(虛擬dom)技術,先把坑佔住了。到後面mounted掛載的時候再把值渲染進去。created:完成了 data 資料的初始化,el沒有
beforemount:完成了 el 和 data 初始化
mounted :完成掛載
我們單擊頁面中的「更新資料」按鈕,將資料更新。下面就能看到data裡的值被修改後,將會觸發update的操作。
ps:注意beforeupdate是指view層的資料變化前,不是data中的資料改變前觸發。因為vue是資料驅動的。注意觀察彈窗就容易發現。
銷毀完成後,我們再重新改變message的值,vue不再對此動作進行響應了。但是原先生成的dom元素還存在,可以這麼理解,執行了destroy操作,後續就不再受vue控制了。因為這個vue例項已經不存在了。
我們單擊頁面中的「銷毀」按鈕,將指定的vue例項銷毀。
三、生命週期總結
vue 鉤子函式
一共有十乙個,但是常見的八個,常用的三四個 beforecreate 建立之前 常用 vue建立之前,data未生產。在beforecreate前,所有的options都會先存到vm.options中,在beforecreate之後,將 options裡的data,props,methods等等乙個...
vue 鉤子函式
beforerouteenter to,from,next 1 this undefined 2 this.data undefined 3 methods 裡面的方法 undefined 4 如果有快取,該方法不會被呼叫 beforecreate 1 如果有快取,該方法不會被呼叫 2 this.d...
mounted鉤子函式 對vue中鉤子函式的理解
1 beforecreate 鉤子 該階段元件例項剛建立,元件屬性計算之前 可理解為元件屬性還未初始化,未繫結,未掛載元素el 比如 el,data,methods等,如果你試圖在beforecreated鉤子中獲取這些屬性值,會得到ubdefined 的結果,但是 可以獲取到this物件,因為此時...