淺談vue的生命周期
1.什么是生命周期?有什么作用?
每一個(gè)vue實(shí)例在創(chuàng)建時(shí)都要經(jīng)歷一系列的初始化過(guò)程-----例如需要設(shè)置監(jiān)聽(tīng),編譯模板,將實(shí)例掛載到dom并在數(shù)據(jù)發(fā)生變化時(shí)更新dom等等.同時(shí)這個(gè)時(shí)候也會(huì)運(yùn)行一些生命周期鉤子的函數(shù),這些函數(shù),給用戶(hù)在不同階段添加代碼的機(jī)會(huì).例如:如果需要某些插件操作dom節(jié)點(diǎn),如果想在頁(yè)面渲染之后彈出廣告,那我們們最早可以再mounted中進(jìn)行.
2.第一次加載頁(yè)面會(huì)觸發(fā)哪幾個(gè)鉤子?
beforeCreate created beforeMount mounted
3.簡(jiǎn)述每個(gè)周期應(yīng)用于哪個(gè)場(chǎng)景?
beforeCreate:在new一個(gè)實(shí)例后,只有一些默認(rèn)的生命鉤子和默認(rèn)事件,其他的東西還沒(méi)有創(chuàng)建,在beforeCreate生命周期執(zhí)行時(shí),data和methods中的數(shù)據(jù)還沒(méi)有初始化,不能在這個(gè)階段使用data中的數(shù)據(jù)和methods的方法.
created:data和methods中的數(shù)據(jù)都已經(jīng)初始化好了,如果調(diào)用methods中的方法和操作data中的數(shù)據(jù)最早在這個(gè)階段進(jìn)行.
beforeMount:執(zhí)行這個(gè)鉤子事,內(nèi)存中已經(jīng)編譯好了模板,但是還沒(méi)有掛載到頁(yè)面中,此時(shí)的頁(yè)面還是舊的
mounted:執(zhí)行到這個(gè)鉤子時(shí),說(shuō)明vue實(shí)例已經(jīng)初始化完成,此時(shí)組件脫離了創(chuàng)建階段進(jìn)入到了運(yùn)行階段,如果需要某些插件操作dom節(jié)點(diǎn),那我們們最早可以再mounted中進(jìn)行
beforeUpdate:當(dāng)執(zhí)行這個(gè)鉤子時(shí),頁(yè)面還是舊的,data中的數(shù)據(jù)是更新后的,但是頁(yè)面的數(shù)據(jù)和data中的數(shù)據(jù)還沒(méi)有同步.
updated:頁(yè)面和data中的數(shù)據(jù)保持同步,頁(yè)面是新的了.
beforeDestory:vue實(shí)例開(kāi)始從運(yùn)行階段進(jìn)入銷(xiāo)毀階段,這時(shí),data和methods,指令,過(guò)濾器.......都是可用的,還沒(méi)有真正銷(xiāo)毀.
destoryed:這時(shí),data和methods,指令,過(guò)濾器.......都是不可用的,組件已經(jīng)被銷(xiāo)毀了.
4.created和mounted的區(qū)別
created在模板渲染成html前調(diào)用,即通常初始化某些屬性值,然后在渲染成視圖.
mounted在模板渲染成html后調(diào)用,通常是頁(yè)面初始化之后,再對(duì)dom節(jié)點(diǎn)進(jìn)行操作時(shí).
5.vue在哪個(gè)生命周期獲取數(shù)據(jù)?
一般created/beforeMount/mounted都可以
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
vue實(shí)現(xiàn)簡(jiǎn)單滑塊驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡(jiǎn)單滑塊驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
vue實(shí)現(xiàn)豎屏滾動(dòng)公告效果
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)豎屏滾動(dòng)公告效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
前端elementUI?select選擇器實(shí)現(xiàn)遠(yuǎn)程搜索
這篇文章主要為大家介紹了前端使用elementUI?select選擇器實(shí)現(xiàn)遠(yuǎn)程搜索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
uniApp?h5項(xiàng)目如何通過(guò)命令行打包并生成指定路徑及文件名稱(chēng)
用uni-app來(lái)寫(xiě)安卓端,近日需要將程序打包為H5放到web服務(wù)器上,經(jīng)過(guò)一番折騰,這里給大家分享下,這篇文章主要給大家介紹了關(guān)于uniApp?h5項(xiàng)目如何通過(guò)命令行打包并生成指定路徑及文件名稱(chēng)的相關(guān)資料,需要的朋友可以參考下2024-02-02
Vue項(xiàng)目中Element UI組件未注冊(cè)的問(wèn)題原因及解決方法
在 Vue 項(xiàng)目中使用 Element UI 組件庫(kù)時(shí),開(kāi)發(fā)者可能會(huì)遇到一些常見(jiàn)問(wèn)題,例如組件未正確注冊(cè)導(dǎo)致的警告或錯(cuò)誤,本文將詳細(xì)探討這些問(wèn)題的原因、解決方法,以及如何在需要時(shí)撤銷(xiāo)相關(guān)操作,需要的朋友可以參考下2025-01-01

