不論是app還是小程序,生命周期是非常重要的知識(shí)點(diǎn)。? uni-app 支持如下生命周期函數(shù):
頁面的生命周期
onLoad 監(jiān)聽頁面加載,其參數(shù)為上個(gè)頁面?zhèn)鬟f的數(shù)據(jù),參數(shù)類型為object(用于頁面?zhèn)鲄ⅲ?,參考示?/p>
onShow 監(jiān)聽頁面顯示
onReady 監(jiān)聽頁面初次渲染完成
onHide 監(jiān)聽頁面隱藏
onUnload 監(jiān)聽頁面卸載
onPullDownRefresh 監(jiān)聽用戶下拉動(dòng)作
onReachBottom 頁面上拉觸底事件的處理函數(shù)
onShareAppMessage 用戶點(diǎn)擊右上角分享 微信小程序
onPageScroll 監(jiān)聽頁面滾動(dòng)
onTabItemTap 當(dāng)前是 tab 頁時(shí),點(diǎn)擊 tab 時(shí)觸發(fā)。
組件的生命周期
beforeCreate:組件初始化,但數(shù)據(jù)原生觀測(cè)、自定義觀測(cè)(event\watcher)沒生成之前。? ? ? 未完全創(chuàng)建階段
created:組件創(chuàng)建后,但還未掛載? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?完全創(chuàng)建階段
beforeMount:組件渲染后,掛載前。? ? ? ? ? ? ? ? ? ? ? ? ? ? 渲染后待掛載
mounted: 組件掛載到頁面? ? 可用 vm.$el 訪問? ? ? ? ? ? ?掛載OK
beforeUpdate: 虛擬 DOM 重新渲染和打補(bǔ)丁之前? ? ? ? 再次渲染前
updated : 組件 DOM 已經(jīng)更新? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 再次渲染后
activated: keep-alive 組件激活時(shí)調(diào)用。? ? ? ? ? ? ? ? ? ? ? ?當(dāng)前組件被激活:顯示
deactivated: keep-alive 組件停用時(shí)調(diào)用。? ? ? ? ? ? ? ? ? ?當(dāng)前組件隱藏
beforeDestroy: 實(shí)例銷毀之前調(diào)用。實(shí)例仍然完全可用。 銷毀前
destroy:? ?Vue 實(shí)例銷毀后調(diào)用
補(bǔ)充:
1.掛載階段,先渲染組件,然后掛載組件。