前言
本文主要跟大家介紹了關(guān)于Vue實(shí)例中生命周期created和mounted區(qū)別的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
生命周期先上圖
什么是生命周期
Vue實(shí)例有一個(gè)完整的生命周期,也就是從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載Dom、渲染→更新→渲染、卸載等一系列過(guò)程,我們稱這是Vue的生命周期。通俗說(shuō)就是Vue實(shí)例從創(chuàng)建到銷毀的過(guò)程,就是生命周期。
在Vue的整個(gè)生命周期中,它提供了一系列的事件,可以讓我們?cè)谑录|發(fā)時(shí)注冊(cè)js方法,可以讓我們用自己注冊(cè)的js方法控制整個(gè)大局,在這些事件響應(yīng)方法中的this直接指向的是vue的實(shí)例。
再上圖,對(duì)生命周期圖的標(biāo)注
特別值得注意的是created鉤子函數(shù)和mounted鉤子函數(shù)的區(qū)別
每個(gè)鉤子函數(shù)都在啥時(shí)間觸發(fā)
beforeCreate
在實(shí)例初始化之后,數(shù)據(jù)觀測(cè)(data observer) 和 event/watcher 事件配置之前被調(diào)用。
created
實(shí)例已經(jīng)創(chuàng)建完成之后被調(diào)用。在這一步,實(shí)例已完成以下的配置:數(shù)據(jù)觀測(cè)(data observer),屬性和方法的運(yùn)算, watch/event 事件回調(diào)。然而,掛載階段還沒(méi)開始,$el 屬性目前不可見(jiàn)。
beforeMount
在掛載開始之前被調(diào)用:相關(guān)的 render 函數(shù)首次被調(diào)用。
mounted
el 被新創(chuàng)建的 vm.$el 替換,并掛載到實(shí)例上去之后調(diào)用該鉤子。
beforeUpdate
數(shù)據(jù)更新時(shí)調(diào)用,發(fā)生在虛擬 DOM 重新渲染和打補(bǔ)丁之前。 你可以在這個(gè)鉤子中進(jìn)一步地更改狀態(tài),這不會(huì)觸發(fā)附加的重渲染過(guò)程。
updated
由于數(shù)據(jù)更改導(dǎo)致的虛擬 DOM 重新渲染和打補(bǔ)丁,在這之后會(huì)調(diào)用該鉤子。
當(dāng)這個(gè)鉤子被調(diào)用時(shí),組件 DOM 已經(jīng)更新,所以你現(xiàn)在可以執(zhí)行依賴于 DOM 的操作。然而在大多數(shù)情況下,你應(yīng)該避免在此期間更改狀態(tài),因?yàn)檫@可能會(huì)導(dǎo)致更新無(wú)限循環(huán)。
該鉤子在服務(wù)器端渲染期間不被調(diào)用。
beforeDestroy
實(shí)例銷毀之前調(diào)用。在這一步,實(shí)例仍然完全可用。
destroyed
Vue 實(shí)例銷毀后調(diào)用。調(diào)用后,Vue 實(shí)例指示的所有東西都會(huì)解綁定,所有的事件監(jiān)聽(tīng)器會(huì)被移除,所有的子實(shí)例也會(huì)被銷毀。 該鉤子在服務(wù)器端渲染期間不被調(diào)用。
總結(jié)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com