生命周期在無論是原生JS還是在框架中都是存在的,也許有許多人對(duì)于這種東西很難接受那就跟著我來給你們縷縷思路
首先生命周期可以抽象的來說就是我們?nèi)艘簧母鱾€(gè)階段,你孩提時(shí)代就應(yīng)該是努力長高長大,然后青年時(shí)代學(xué)習(xí)知識(shí),中年時(shí)代養(yǎng)家糊口,老年時(shí)代安享晚年,人在各個(gè)生命周期會(huì)忙著不同的事情,就像程序一樣每個(gè)不同階段會(huì)忙著不同的事
在原生js中也有生命周期函數(shù)的概念卻不是像vue或者react中給標(biāo)明了,而是當(dāng)你理解了之后你就會(huì)把它當(dāng)成生命周期函數(shù)例如window.onload或者window.unbeforeunload,他們一個(gè)是在頁面加載完成時(shí)調(diào)用,一個(gè)是關(guān)閉頁面時(shí)調(diào)用,直接上圖吧
在上圖中window.onload相當(dāng)于一個(gè)生命周期函數(shù),在頁面加載完成時(shí)調(diào)用,可以執(zhí)行某個(gè)函數(shù)或者寫一長串代碼這就相當(dāng)于vue生命周期函數(shù)中的ready或者react中的componentDidMount,他們都是用來在對(duì)應(yīng)的時(shí)間做對(duì)應(yīng)的事,值得注意的是window.unbeforeunload中寫alert,console是不會(huì)執(zhí)行的,只可以用本地存儲(chǔ)來嘗試著看這個(gè)函數(shù)是否起作用
如圖在vue中也有生命周期函數(shù),大家肯定遇到過這個(gè)場(chǎng)景,當(dāng)我用戶進(jìn)入我的頁面是我需要用ajax請(qǐng)求數(shù)據(jù)并展示,這就說明在頁面剛進(jìn)入必須執(zhí)行一個(gè)函數(shù)或者代碼,在vue中,官方提供給了我們這幾個(gè)函數(shù),就是我們可以在對(duì)應(yīng)的地方調(diào)用對(duì)應(yīng)的函數(shù),而官方推薦在ready中寫我們的代碼但其實(shí)這幾個(gè)函數(shù)都是可以用的
生命周期是一個(gè)比較抽象的概念,但是我相信根據(jù)我今天所寫,大家只要回去好好理解,一定可以將它融會(huì)貫通