uniapp頁面生命周期


頁面生命周期

uni-app 支持如下頁面生命周期函數:

函數名 說明 平台差異說明
onInit 監聽頁面初始化,其參數同 onLoad 參數,為上個頁面傳遞的數據,參數類型為 Object(用於頁面傳參),觸發時機早於 onLoad 百度小程序
onLoad 監聽頁面加載,其參數為上個頁面傳遞的數據,參數類型為 Object(用於頁面傳參)  
onShow 監聽頁面顯示。頁面每次出現在屏幕上都觸發,包括從下級頁面點返回露出當前頁面  
onReady 監聽頁面初次渲染完成。注意如果渲染速度快,會在頁面進入動畫完成前觸發  
onHide 監聽頁面隱藏  
onUnload 監聽頁面卸載  
onResize 監聽窗口尺寸變化 App、微信小程序
onPullDownRefresh 監聽用戶下拉動作,一般用於下拉刷新  
onReachBottom 頁面滾動到底部的事件(不是scroll-view滾到底),常用於下拉下一頁數據。具體見下方注意事項  
onTabItemTap 點擊 tab 時觸發,參數為Object,具體見下方注意事項 微信小程序、QQ小程序、支付寶小程序、百度小程序、H5、App
onShareAppMessage 用戶點擊右上角分享 微信小程序、QQ小程序、支付寶小程序、字節小程序、飛書小程序、快手小程序
onPageScroll 監聽頁面滾動,參數為Object nvue暫不支持
onNavigationBarButtonTap 監聽原生標題欄按鈕點擊事件,參數為Object App、H5
onBackPress 監聽頁面返回,返回 event = {from:backbutton、 navigateBack} ,backbutton 表示來源是左上角返回按鈕或 android 返回鍵;navigateBack表示來源是 uni.navigateBack ;詳細說明及使用:onBackPress 詳解。支付寶小程序只有真機能觸發,只能監聽非navigateBack引起的返回,不可阻止默認行為。 app、H5、支付寶小程序
onNavigationBarSearchInputChanged 監聽原生標題欄搜索輸入框輸入內容變化事件 App、H5
onNavigationBarSearchInputConfirmed 監聽原生標題欄搜索輸入框搜索事件,用戶點擊軟鍵盤上的“搜索”按鈕時觸發。 App、H5
onNavigationBarSearchInputClicked 監聽原生標題欄搜索輸入框點擊事件(pages.json 中的 searchInput 配置 disabled 為 true 時才會觸發) App、H5
onShareTimeline 監聽用戶點擊右上角轉發到朋友圈 微信小程序
onAddToFavorites 監聽用戶點擊右上角收藏 微信小程序

onInit使用注意

  • 僅百度小程序基礎庫 3.260 以上支持 onInit 生命周期
  • 其他版本或平台可以同時使用 onLoad 生命周期進行兼容,注意避免重復執行相同邏輯
  • 不依賴頁面傳參的邏輯可以直接使用 created 生命周期替代

onReachBottom使用注意 可在pages.json里定義具體頁面底部的觸發距離onReachBottomDistance,比如設為50,那么滾動頁面到距離底部50px時,就會觸發onReachBottom事件。

 

在目前我常用到的頁面生命周期是onLoad、onShow和onReachBottom這三個生命周期

onLoad:監聽頁面加載和接收上個頁面傳遞的參數

onShow:頁面每次出現在屏幕上都觸發,包括從下級頁面點返回露出當前頁面

onReachBottom:用於下拉下一頁數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM