小程序生命周期钩子函数
生命周期
生命周期是指一個小程序從創建到銷毀的一個過程。
小程序有兩種生命周期
一種通過App()來注冊一個小程序,
另一種通過Page()來注冊一個頁面。
小程序應用的生命周期
App()函數用來注冊一個小程序。接受一個object參數,指定小程序的生命周期回調等。
App()必須在app.js種調用。必須調用且只能調用一次。
App({onLaunch: function(options) {// 監聽小程序初始化。小程序初始化完成時(全局只觸發一次)},onShow: function(options) {// 監聽小程序顯示。小程序啟動,或從后臺進入前臺顯示時},onHide: function() {// 監聽小程序隱藏。小程序從前臺進入后臺時。},onError: function(msg) {console.log(msg) // 錯誤監聽函數。小程序發生腳本錯誤,或者 api 調用失敗時觸發,會帶上錯誤信息},onPageNotFound: function(res) {// 頁面不存在監聽函數。小程序要打開的頁面不存在時觸發,會帶上頁面信息回調該函數},})前臺、后臺定義:
當用戶點擊左上角關閉,或者按了設備Home鍵離開微信,小程序并沒有直接銷毀,而是進入后臺;當再次進入微信或者再次打開小程序,又從后臺進入前臺
總結:
1、用戶首次打開小程序,觸發onLaunch方法(全局只觸發一次)。
2、小程序初始化完成后,觸發onShow方法,監聽小程序顯示。
3、小程序從前臺進入后臺,觸發onHide方法。
4、小程序從后臺進入前臺顯示,觸發onShow方法。
5、小程序后臺運行一定時間,或系統資源占用過高,會被銷毀。
全局的getApp()函數可以用來獲取小程序App實例。
從中我們可以知道小程序的生命周期函數的調用順序為:onLaunch>onShow>onHide
頁面的生命周期
Page(object)函數用來注冊一個頁面,接受一個Object類型參數,其指定頁面的初始數據、生命周期回調、事件處理函數。
Page({data: {// 頁面的初始數據text: "This is page data."},onLoad: function(options) {// 生命周期回調—監聽頁面加載},onReady: function() {// 生命周期回調—監聽頁面初次渲染完成},onShow: function() {// 生命周期回調—監聽頁面顯示},onHide: function() {// 生命周期回調—監聽頁面隱藏},onUnload: function() {// 生命周期回調—監聽頁面卸載}, // ---------------以下不是生命周期鉤子函數----------------onPullDownRefresh: function() {// 監聽用戶下拉動作},onReachBottom: function() {// 頁面上拉觸底事件的處理函數},onShareAppMessage: function () {// 用戶點擊右上角轉發},onPageScroll: function() {// 頁面滾動觸發事件的處理函數},onResize: function() {// 頁面尺寸改變時觸發},onTabItemTap(item) {// 當前是 tab 頁時,點擊 tab 時觸發console.log(item.index)console.log(item.pagePath)console.log(item.text)},// 任意的函數,在頁面的函數中用 this 可以訪問viewTap: function() {this.setData({text: 'Set some data for updating view.'}, function() {// this is setData callback})},// 任意數據,在頁面的函數中用 this 可以訪問customData: {hi: 'MINA'} })從中我們可以知道小程序頁面的生命周期函數的調用順序為:onLoad>onShow>onReady。
至于onHide函數就是當隱藏頁面的時候觸發。
- 小程序注冊完成后,加載頁面,觸發onLoad方法。
- 頁面載入后觸發onShow方法,顯示頁面。
- 首次顯示頁面,會觸發onReady方法,渲染頁面元素和樣式,一個頁面只會調用一次。
- 當小程序后臺運行或跳轉到其他頁面時,觸發onHide方法。
- 當小程序有后臺進入到前臺運行或重新進入頁面時,觸發onShow方法。
- 當使用重定向方法wx.redirectTo(object)或關閉當前頁返回上一頁wx.navigateBack(),觸發onUnload。
總結:
onLoad: 頁面加載。一個頁面只會調用一次。參數可以獲取wx.navigateTo和wx.redirectTo及中的 query。
onShow: 頁面顯示。每次打開頁面都會調用一次。
onReady: 頁面初次渲染完成。一個頁面只會調用一次,代表頁面已經準備妥當,可以和視圖層進行交互。對界面的設置如wx.setNavigationBarTitle請在onReady之后設置。
onHide: 頁面隱藏。當navigateTo或底部tab切換時調用。
onUnload: 頁面卸載。當redirectTo或navigateBack的時候調用。
總結
以上是生活随笔為你收集整理的小程序生命周期钩子函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算机毕业设计】题库管理系统的设计与实
- 下一篇: ERP、CRM、SCM、电子商务、BI、