一、應用的生命週期
1、系統函數說明
App()
函數用來註冊一個小程序,接收一個object
函數,其指定小程序的生命週期函數等。此函數位於app.js
文件中,整個微信小程序中只有一個。
屬性 | 作用 | 說明 |
---|---|---|
onLaunch | 監聽小程序初始化 | 小程序初始化完成時觸發,全局只觸發一次 |
onShow | 監聽小程序啓動或切換前臺 | 小程序啓動或從後臺進入前臺時觸發 |
onHide | 監聽小程序切後臺 | 小程序從前臺進入後臺時觸發 |
onError | 錯誤函數監聽 | 小程序發生腳本錯誤或API調用報錯時觸發 |
onPageNotFound | 頁面不存在監聽函數 | |
onUnhandledRejection | 未處理的Promise拒絕事件監聽函數 |
2、熱啓動與冷啓動
熱啓動: 當用戶點擊小程序右上角關閉或者按設備HOME健離開微信,小程序並沒有直接銷燬,而是觸發onHide
方法進入了後臺,短時間內當再次進入微信或者再次打開小程序,小程序會從後臺狀態進入前臺,此爲熱啓動。
冷啓動: 小程序進入後臺一定時間後,或者系統資源佔用過高,微信會真正銷燬小程序。用戶第一次進入小程序或者在小程序銷燬後再次進入小程序此爲冷啓動。
小程序冷啓動:小程序在冷啓動時會依次觸發onLaunch
——> onShow
小程序熱啓動:小程序在熱啓動時會觸發onShow
小程序關閉:即小程序從前臺進入後臺時觸發onHide
二、頁面的生命週期
Page()
函數用來註冊一個頁面,接收一個object參數,指定頁面的初始化數據,生命週期函數,事件處理函數等。
屬性 | 作用 | 說明 |
---|---|---|
data | 頁面等初始數據 | 頁面第一次渲染使用的初始數據 |
onLoad | 監聽頁面的加載 | 頁面加載時觸發,一個頁面只會調用一次 |
onShow | 監聽頁面的顯示 | 頁面顯示或切入前臺時觸發 |
onReady | 監聽頁面初次渲染完成 | 頁面初次渲染完成時觸發,一個頁面只會調用一次,代表頁面已經準備妥當,可以和視圖層進行交互 |
onHide | 監聽頁面隱藏 | 頁面隱藏或者切入後臺時觸發 |
onUnload | 監聽頁面卸載 | 頁面卸載時觸發 |
onPullDownRefresh | 監聽用戶下拉動作 | |
onReachBottom | 頁面上拉觸底事件的處理函數 | |
onShareAppMessage | 用戶點擊右上角轉發 | |
onPageScroll | 頁面滾動觸發事件的處理函數 | |
onResize | 頁面尺寸改變時觸發 | |
onTabItemTab | 當前是tab頁時,點擊tab時觸發 |