小程序邏輯層之註冊小程序

1. 定義
每個小程序都需要在 app.js 中調用 App 方法註冊小程序示例,綁定生命週期回調函數、錯誤監聽和頁面不存在監聽函數等。
整個小程序只有一個 App 實例,是全部頁面共享的。
通過 getApp 方法獲取到全局唯一的 App 示例,獲取App上的數據或調用開發者註冊在 App 上的函數。

2. App(Object object)
註冊小程序。接受一個 Object 參數,其指定小程序的生命週期回調等。
App() 必須在 app.js 中調用,必須調用且只能調用一次。不然會出現無法預期的後果。
App參數詳解如下圖:
在這裏插入圖片描述
例子1:

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(O

onLaunch(Object object):小程序初始化完成時觸發,全局只觸發一次。
onShow(Object object):小程序啓動,或從後臺進入前臺顯示時觸發。
onHide():小程序從前臺進入後臺時觸發。
onError(String error):小程序發生腳本錯誤或 API 調用報錯時觸發。
onPageNotFound(Object object):小程序要打開的頁面不存在時觸發。(基礎庫 1.9.90 開始支持,低版本需做兼容處理)

3. getApp(Object object)
用於獲取小程序全局唯一的 App 實例。
在這裏插入圖片描述
例子2:

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

注意:
不要在定義於 App() 內的函數中,或調用 App 前調用 getApp() ,使用 this 就可以拿到 app 實例。
通過 getApp() 獲取實例之後,不要私自調用生命週期函數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章