在實例化Vue時,需要傳入一個選項對象频丘。他可以包含數(shù)據(jù)办成、模板、掛載元素椎镣、方法诈火、生命周期鉤子等選項。
每個vue實例在被創(chuàng)建的之前都要經(jīng)過一系列的初始化過程状答。例如冷守,實例需要配置數(shù)據(jù)觀測、編譯模板惊科、掛載實例到DOM拍摇,然后在數(shù)據(jù)變化時更新DOM。
breforCreate:在實例初始化之后馆截,數(shù)據(jù)觀測和事件配置之前調(diào)用
created:實例已經(jīng)創(chuàng)建完成之后被調(diào)用充活。在這一步,實例已經(jīng)完成以下配置:數(shù)據(jù)觀測蜡娶、屬性和方法的運算混卵。watch/event事件回調(diào)。然而掛載階段還沒開始窖张。
beforeMount : 掛載之前開始被調(diào)用幕随,相關(guān)的render函數(shù)首次被調(diào)用(該鉤子在服務(wù)器端渲染期間不被調(diào)用。)
mounted:el被新創(chuàng)建的vm.$el替換宿接,并掛載到實例上去后調(diào)用該鉤子赘淮。(該鉤子在服務(wù)器端渲染期間不被調(diào)用。)
beforeUpdate:數(shù)據(jù)更新時調(diào)用睦霎,發(fā)生在虛擬DOM重新渲染和打補丁之前梢卸。你可以在這個鉤子中進(jìn)一步地更改狀態(tài),這不會觸發(fā)附加的重渲染過程副女。(該鉤子在服務(wù)器端渲染期間不被調(diào)用蛤高。)
updated: 由于數(shù)據(jù)更改導(dǎo)致的虛擬 DOM 重新渲染和打補丁,在這之后會調(diào)用該鉤子。當(dāng)這個鉤子被調(diào)用時襟齿,組件 DOM 已經(jīng)更新姻锁,所以你現(xiàn)在可以執(zhí)行依賴于 DOM 的操作枕赵。然而在大多數(shù)情況下猜欺,你應(yīng)該避免在此期間更改狀態(tài),因為這可能會導(dǎo)致更新無限循環(huán)拷窜。(該鉤子在服務(wù)器端渲染期間不被調(diào)用开皿。)
activated :keep-alive 組件激活時調(diào)用。(該鉤子在服務(wù)器端渲染期間不被調(diào)用篮昧。)
deactivated : keep-alive 組件停用時調(diào)用赋荆。(該鉤子在服務(wù)器端渲染期間不被調(diào)用。)
beforeDestroy:實例銷毀之前調(diào)用懊昨。在這一步窄潭,實例仍然完全可用。(該鉤子在服務(wù)器端渲染期間不被調(diào)用酵颁。)
destroyed:Vue 實例銷毀后調(diào)用嫉你。調(diào)用后,Vue 實例指示的所有東西都會解綁定躏惋,所有的事件監(jiān)聽器會被移除幽污,所有的子實例也會被銷毀。(該鉤子在服務(wù)器端渲染期間不被調(diào)用簿姨。)