在uniapp中,生命周期函數分為應用生命周期函數、頁面生命周期函數和組件生命周期函數.
1應用聲明周期
應用生命周期函數只能在 App.vue 中監聽有效,在其他頁監聽無效。
- onLaunch:當uni-app 初始化完成時觸發(全局只觸發一次)
- onShow:當 uni-app 啟動,或從后臺進入前臺顯示
- onHide:當 uni-app 從前臺進入后臺
- onError: 當 uni-app 報錯時觸發
2頁面生命周期
- onLoad 監聽頁面加載,其參數為上個頁面傳遞的數據,參數類型為 Object(用于頁面傳參)
- onShow 監聽頁面顯示,頁面每次出現在屏幕上都觸發,包括從下級頁面點返回當前頁面
- onReady 監聽頁面初次渲染完成,注意如果渲染速度快,會在頁面進入動畫完成前觸發【頁面初次渲染完成了,但是渲染完成了,你才發送請求獲取數據,就太慢了。】
- onHide 監聽頁面隱藏,通過tabbar切換頁面也是隱藏而不是卸載
- onUnload 監聽頁面卸載
- onPullDownRefresh 監聽用戶下拉動作,一般用于下拉刷新,前提開啟下拉刷新。
下拉刷新開啟:pages.json 中全局配置,或者頁面的style中配置或通過 uni.startPullDownRefresh()方法
下拉刷新關閉:uni.stopPullDownRefresh() - onReachBottom:上拉加載,頁面滾動到底部的事件,在事件中可以加載下一頁數據
在pages.json中的頁面style中,通過onReachBottomDistance可以配置頁面上拉觸底事件觸發距頁面底部的距離,默認50px
2.1onLoad 監聽頁面加載
2.2onShow 監聽頁面顯示
3uniapp常用生命周期執行順序
主要討論onLoad,onReady,onShow,beforeCreate,created,beforeMount,mounted七大生命周期。
頁面beforeCreate執行: undefined
頁面onLoad執行: 100
頁面onShow執行: 100
頁面created執行: 100
頁面beforeMount執行: 100
頁面onReady執行: 100
頁面mounted執行: 100