???作者簡介:大家好,我是亦世凡華、渴望知識(shí)儲(chǔ)備自己的一名在校大學(xué)生
??個(gè)人主頁:亦世凡華、
??系列專欄:uni-app
??座右銘:人生亦可燃燒,亦可腐敗,我愿燃燒,耗盡所有光芒。
??引言
?????????經(jīng)過web前端的學(xué)習(xí),相信大家對于前端開發(fā)有了一定深入的了解,今天我開設(shè)了uni-app專欄,主要想從移動(dòng)端開發(fā)方向進(jìn)一步發(fā)展,而對于我來說寫移動(dòng)端博文的第二站就是uni-app開發(fā),希望看到我文章的朋友能對你有所幫助。
目錄
uni-app生命周期
應(yīng)用生命周期
頁面生命周期
組件生命周期
uni-app生命周期
業(yè)務(wù)邏輯很多時(shí)候簡單的解釋一句話:“在合適的時(shí)機(jī)干合適的事”。在頁面運(yùn)行過程中,各個(gè)階段的回調(diào)函數(shù)就是頁面中的時(shí)機(jī),我們也稱之為:“生命周期鉤子函數(shù)”,在業(yè)務(wù)中我們也會(huì)寫到很多回調(diào)的邏輯,這些回調(diào)其實(shí)也就是我們自定義的時(shí)機(jī),uni-app的生命周期鉤子函數(shù)的回調(diào)函數(shù)有哪些呢?如下:
應(yīng)用生命周期
應(yīng)用生命周期主要是在App.vue中運(yùn)行,相關(guān)的生命周期函數(shù)如下:
函數(shù)名 | 說明 |
---|---|
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 | 當(dāng) nvue 頁面發(fā)送的數(shù)據(jù)進(jìn)行監(jiān)聽 |
onUnhandleRejection | 對未處理的 Promise 拒絕事件監(jiān)聽函數(shù)(2.8.1+) |
onPageNotFound | 頁面不存在監(jiān)聽函數(shù) |
onThemeChange | 監(jiān)聽系統(tǒng)主題變化 |
舉一個(gè)使用最多的生命周期鉤子函數(shù):onPageNotFound,如下:
設(shè)置一個(gè)404界面,當(dāng)用戶訪問不存在的路徑時(shí),便會(huì)直接跳轉(zhuǎn)到我們設(shè)置好的404界面用來提示用戶當(dāng)前頁面不存在,如下:
頁面生命周期
頁面生命周期通常運(yùn)行在組件頁面上,相關(guān)的生命周期函數(shù)如下:
函數(shù)名 | 說明 |
---|---|
onlnit | 監(jiān)聽頁面初始化 |
onLoad | 監(jiān)聽頁面加載 |
onShow | 監(jiān)聽頁面顯示。頁面每次出現(xiàn)在屏幕上都觸發(fā),包括從下級(jí)頁面點(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ù) |
onTabltem Tap | 點(diǎn)擊 tab 時(shí)觸發(fā) |
onShareAppMessage | 用戶點(diǎn)擊右上角分享 |
onPageScroll | 監(jiān)聽頁面滾動(dòng) |
onNavigationBarButtonTap | 監(jiān)聽原生標(biāo)題欄按鈕點(diǎn)擊事件 |
onBackPress | 監(jiān)聽頁面返回 |
onNavigationBarSearchInputChanged | 監(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)擊右上角收藏 |
舉上面列表幾個(gè)簡單的例子來進(jìn)行講解,如下:
onLoad:監(jiān)聽頁面加載。這里可以結(jié)合應(yīng)用生命周期的onPageNotFound函數(shù),進(jìn)行404返回跳轉(zhuǎn)
onPullDownRefresh:監(jiān)聽用戶下拉動(dòng)作,一般用于下拉刷新,這里需要設(shè)置一下pages.json文件
組件生命周期
uni-app 組件支持的生命周期,與vue標(biāo)準(zhǔn)組件的生命周期相同。這里沒有頁面級(jí)的onLoad等生命周期:文章來源:http://www.zghlxwxcb.cn/news/detail-417366.html
函數(shù)名 | 說明 |
---|---|
beforeCreate | 在實(shí)例初始化之前被調(diào)用。 |
created | 在實(shí)例創(chuàng)建完成后被立即調(diào)用。 |
beforeMount | 在掛載開始之前被調(diào)用。 |
mounted | 掛載到實(shí)例上去之后調(diào)用。 |
beforeUpdate | 數(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ì)被銷毀。 |
相關(guān)演示可參考vue生命周期講解文章:Vue組件生命周期的三個(gè)階段 。文章來源地址http://www.zghlxwxcb.cn/news/detail-417366.html
到了這里,關(guān)于uni-app--》uni-app的生命周期講解的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!