微信小程序 小程序APP

2022-05-11 15:57 更新

App(Object object)

注冊小程序。接受一個 Object 參數(shù),其指定小程序的生命周期回調(diào)等。

App() 必須在 app.js 中調(diào)用,必須調(diào)用且只能調(diào)用一次。不然會出現(xiàn)無法預期的后果。

參數(shù)

Object object
屬性 類型 默認值 必填 說明 最低版本
onLaunch function 生命周期回調(diào)——監(jiān)聽小程序初始化。
onShow function 生命周期回調(diào)——監(jiān)聽小程序啟動或切前臺。
onHide function 生命周期回調(diào)——監(jiān)聽小程序切后臺。
onError function 錯誤監(jiān)聽函數(shù)。
onPageNotFound function 頁面不存在監(jiān)聽函數(shù)。 1.9.90
onUnhandledRejection function 未處理的 Promise 拒絕事件監(jiān)聽函數(shù)。 2.10.0
onThemeChange function 監(jiān)聽系統(tǒng)主題變化 2.11.0
其他 any 開發(fā)者可以添加任意的函數(shù)或數(shù)據(jù)變量到 Object 參數(shù)中,用 this 可以訪問
關于小程序前后臺的定義和小程序的運行機制,請參考運行機制章節(jié)。

示例代碼

App({
  onLaunch (options) {
    // Do something initial when launch.
  },
  onShow (options) {
    // Do something when show.
  },
  onHide () {
    // Do something when hide.
  },
  onError (msg) {
    console.log(msg)
  },
  globalData: 'I am global data'
})

onLaunch(Object object)

小程序初始化完成時觸發(fā),全局只觸發(fā)一次。參數(shù)也可以使用 wx.getLaunchOptionsSync 獲取。

參數(shù):與 wx.getLaunchOptionsSync 一致

onShow(Object object)

小程序啟動,或從后臺進入前臺顯示時觸發(fā)。也可以使用 wx.onAppShow 綁定監(jiān)聽。

參數(shù):與 wx.onAppShow 一致

onHide()

小程序從前臺進入后臺時觸發(fā)。也可以使用 wx.onAppHide 綁定監(jiān)聽。

onError(String error)

小程序發(fā)生腳本錯誤或 API 調(diào)用報錯時觸發(fā)。也可以使用 wx.onError 綁定監(jiān)聽。

參數(shù):與 wx.onError 一致

onPageNotFound(Object object)

基礎庫 1.9.90 開始支持,低版本需做兼容處理。

小程序要打開的頁面不存在時觸發(fā)。也可以使用 wx.onPageNotFound 綁定監(jiān)聽。注意事項請參考 wx.onPageNotFound。

參數(shù):與 wx.onPageNotFound 一致

示例代碼:

App({
  onPageNotFound(res) {
    wx.redirectTo({
      url: 'pages/...'
    }) // 如果是 tabbar 頁面,請使用 wx.switchTab
  }
})

onUnhandledRejection(Object object)

基礎庫 2.10.0 開始支持,低版本需做兼容處理。

小程序有未處理的 Promise 拒絕時觸發(fā)。也可以使用 wx.onUnhandledRejection 綁定監(jiān)聽。注意事項請參考 wx.onUnhandledRejection。

參數(shù):與 wx.onUnhandledRejection 一致

onThemeChange(Object object)

基礎庫 2.11.0 開始支持,低版本需做兼容處理。

系統(tǒng)切換主題時觸發(fā)。也可以使用 wx.onThemeChange 綁定監(jiān)聽。

參數(shù):與 wx.onThemeChange 一致


AppObject getApp(Object object)

獲取到小程序全局唯一的 App 實例。

參數(shù)

Object object
屬性 類型 默認值 必填 說明 最低版本
allowDefault boolean false 在 App 未定義時返回默認實現(xiàn)。當App被調(diào)用時,默認實現(xiàn)中定義的屬性會被覆蓋合并到App中。一般用于獨立分包 2.2.4

示例代碼

// other.js
var appInstance = getApp()
console.log(appInstance.globalData) // I am global data

注意

  • 不要在定義于 App() 內(nèi)的函數(shù)中,或調(diào)用 App 前調(diào)用 getApp() ,使用 this 就可以拿到 app 實例。
  • 通過 getApp() 獲取實例之后,不要私自調(diào)用生命周期函數(shù)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號