生活随笔
收集整理的這篇文章主要介紹了
uni-app的三种生命周期函数整理
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
uni-app中有三種生命周期函數(shù):應(yīng)用生命周期、頁面生命周期、組件生命周期。
一、應(yīng)用生命周期
onLaunch:當(dāng)uni-app初始化完成時(shí)觸發(fā)(全局只觸發(fā)一次)onShow:當(dāng)uni-app啟動(dòng),或從后臺(tái)進(jìn)入前臺(tái)顯示onHide:當(dāng)uni-app從前臺(tái)進(jìn)入后臺(tái)onError:當(dāng)uni-app報(bào)錯(cuò)時(shí)觸發(fā)onUniNViewMessage:對nvue頁面發(fā)送的數(shù)據(jù)進(jìn)行監(jiān)聽onUnhandledRejection:對未處理的Promise拒絕事件監(jiān)聽函數(shù)onPageNotFound:頁面不存在監(jiān)聽函數(shù)onThemeChange:監(jiān)聽系統(tǒng)主題變化
注意:
- 應(yīng)用生命周期僅可在App.vue中監(jiān)聽,在其它頁面監(jiān)聽無效。
- onlaunch里進(jìn)行頁面跳轉(zhuǎn),如遇白屏報(bào)錯(cuò),請參考https://ask.dcloud.net.cn/article/35942
二、頁面生命周期
onInit:監(jiān)聽頁面初始化,其參數(shù)(類型Object)為上個(gè)頁面?zhèn)鬟f的數(shù)據(jù),觸發(fā)時(shí)機(jī)早于 onLoadonLoad:監(jiān)聽頁面加載,其參數(shù)(類型Object)為上個(gè)頁面?zhèn)鬟f的數(shù)據(jù)onShow:監(jiān)聽頁面顯示。頁面每次出現(xiàn)在屏幕上都觸發(fā),包括從下級頁面點(diǎn)返回露出當(dāng)前頁面onReady:監(jiān)聽頁面初次渲染完成。注意如果渲染速度快,會(huì)在頁面進(jìn)入動(dòng)畫完成前觸發(fā)onHide:監(jiān)聽頁面隱藏onUnload:監(jiān)聽頁面卸載onResize:監(jiān)聽窗口尺寸變化onPullDownRefresh:監(jiān)聽用戶下拉動(dòng)作,一般用于下拉刷新onReachBottom:頁面滾動(dòng)到底部的事件(不是scroll-view滾到底),常用于下拉下一頁數(shù)據(jù)onTabItemTap:點(diǎn)擊 tab 時(shí)觸發(fā),參數(shù)為ObjectonShareAppMessage:用戶點(diǎn)擊右上角分享onPageScroll:監(jiān)聽頁面滾動(dòng),參數(shù)為ObjectonNavigationBarButtonTap:監(jiān)聽原生標(biāo)題欄按鈕點(diǎn)擊事件,參數(shù)為ObjectonBackPress:監(jiān)聽頁面返回,返回 event = {from:backbutton、 navigateBack} ,backbutton 表示來源是左上角返回按鈕或 android 返回鍵;navigateBack表示來源是 uni.navigateBackonNavigationBarSearchInputChanged:監(jiān)聽原生標(biāo)題欄搜索輸入框輸入內(nèi)容變化事件onNavigationBarSearchInputConfirmed:監(jiān)聽原生標(biāo)題欄搜索輸入框搜索事件,用戶點(diǎn)擊軟鍵盤上的“搜索”按鈕時(shí)觸發(fā)。onNavigationBarSearchInputClicked:監(jiān)聽原生標(biāo)題欄搜索輸入框點(diǎn)擊事件onShareTimeline:監(jiān)聽用戶點(diǎn)擊右上角轉(zhuǎn)發(fā)到朋友圈onAddToFavorites:監(jiān)聽用戶點(diǎn)擊右上角收藏
注意:
- 使用uni-app里面的onReady 代替 vue 里面的 mounted
- 使用uni-app里面的onLoad 代替 vue 里面的 created
三、組件生命周期
uni-app 組件支持的生命周期,與vue標(biāo)準(zhǔn)組件的生命周期相同。這里沒有頁面級的onLoad等生命周期:
beforeCreate:在實(shí)例初始化之后被調(diào)用created:在實(shí)例創(chuàng)建完成后被立即調(diào)用beforeMount:在掛載開始之前被調(diào)用mounted:掛載到實(shí)例上去之后調(diào)用。注意:此處并不能確定子組件被全部掛載,如果需要子組件完全掛載之后在執(zhí)行操作可以使用$nextTickbeforeUpdate:數(shù)據(jù)更新時(shí)調(diào)用,發(fā)生在虛擬 DOM 打補(bǔ)丁之前updated:由于數(shù)據(jù)更改導(dǎo)致的虛擬 DOM 重新渲染和打補(bǔ)丁,在這之后會(huì)調(diào)用該鉤子beforeDestroy:實(shí)例銷毀之前調(diào)用。在這一步,實(shí)例仍然完全可用destroyed:Vue 實(shí)例銷毀后調(diào)用。調(diào)用后,Vue 實(shí)例指示的所有東西都會(huì)解綁定,所有的事件監(jiān)聽器會(huì)被移除,所有的子實(shí)例也會(huì)被銷毀
總結(jié)
以上是生活随笔為你收集整理的uni-app的三种生命周期函数整理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。