W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
App()
用于注冊小程序,接受一個 Object
作為屬性,用來配置小程序的生命周期等。 App()
必須在 app.js
中調(diào)用,必須調(diào)用且只能調(diào)用一次。
屬性 | 類型 | 描述 | 觸發(fā)時機 | 基礎(chǔ)庫最低版本 |
---|---|---|---|---|
onLaunch | Function | 生命周期回調(diào):監(jiān)聽小程序初始化 | 當小程序初始化完成時觸發(fā),全局只觸發(fā)一次。參數(shù)也可以使用 my.getLaunchOptionsSync 獲取。 | - |
onShow | Function | 生命周期回調(diào):監(jiān)聽小程序顯示 | 當小程序啟動,或從后臺進入前臺顯示時觸發(fā)。也可以使用 my.onAppShow 綁定監(jiān)聽。 | - |
onHide | Function | 生命周期回調(diào):監(jiān)聽小程序隱藏 | 當當前頁面被隱藏時觸發(fā),例如跳轉(zhuǎn)、按下設備 Home 鍵離開。也可以使用 my.onAppHide 綁定監(jiān)聽。 | - |
onError | Function | 監(jiān)聽小程序錯誤 | 當小程序發(fā)生 js 錯誤時觸發(fā)。也可以使用 my.onError 綁定監(jiān)聽。 | - |
onShareAppMessage | Function | 全局分享配置 | - | - |
onUnhandledRejection | Function | 監(jiān)聽 unhandledrejection 事件 | 當 Promise 被 reject 且沒有 reject 處理器時,會觸發(fā) onUnhandledRejection 事件。也可以使用 my.onUnhandledRejection 綁定監(jiān)聽。 | 1.24.1 |
前臺/后臺定義:
object 屬性說明:
屬性 | 類型 | 描述 |
---|---|---|
query | Object | 當前小程序的 query,從啟動參數(shù)的 query 字段解析而來 |
scene | number | 啟動小程序的 場景值 |
path | string | 當前小程序的頁面地址,從啟動參數(shù) page 字段解析而來,page 忽略時默認為首頁 |
referrerInfo | Object | 來源信息 |
比如,啟動小程序的 scheme 如下:
alipays://platformapi/startapp?appId=1999&query=number%3D1&page=x%2Fy%2Fz
onLaunch
方法可獲取 query
、path
屬性值。onShow
方法中獲取 query
、path
屬性值。App({
onLaunch(options) {
// 第一次打開
console.log(options.query);
// {number:1}
console.log(options.path);
// x/y/z
},
onShow(options) {
// 從后臺被 scheme 重新打開
console.log(options.query);
// {number:1}
console.log(options.path);
// x/y/z
},
});
referrerInfo
子屬性說明:
屬性 | 類型 | 描述 | 最低版本 |
---|---|---|---|
appId | string | 來源小程序。 | - |
sourceServiceId | string | 來源插件,當處于插件運行模式時可見。 | 1.11.0 |
extraData | Object | 來源小程序傳過來的數(shù)據(jù)。 | - |
注意:
onShow()
中進行 my.redirectTo 或 my.navigateTo 等操作頁面棧的行為。onLaunch()
里調(diào)用 getCurrentPages(),因為此時 page
還未生成。
小程序從前臺進入后臺時觸發(fā) onHide()
。
示例代碼:
App({
onHide() {
// 進入后臺時
console.log('app hide');
},
});
小程序發(fā)生腳本錯誤時觸發(fā)。
示例代碼:
App({
onError(error) {
// 小程序執(zhí)行出錯時
console.log(error);
},
});
全局分享配置。當頁面未設置 page.onShareAppMessage
時,調(diào)用分享會執(zhí)行全局的分享設置,具體詳情請參見 頁面事件處理函數(shù)。
當Promise
被 reject
且沒有 reject
處理器時觸發(fā)。也可使用 my.onUnhandledRejection 綁定監(jiān)聽。
參數(shù)和注意事項與 my.onUnhandledRejection 一致。
示例代碼:
App({
onUnhandledRejection(res) {
// 當小程序代碼的Promise 被 reject 且沒有 reject 處理器時觸發(fā)。
console.log(res.reason, res.promise);
//res.reason 是reject原因,res.promise 是被reject的Promise對象
},
});
App()
中可以設置全局數(shù)據(jù) globalData
。
示例代碼:
// app.js
App({
globalData: 1
});
A:不可以,關(guān)閉小程序得方法僅支持小程序頁面點擊右上角的關(guān)閉按鈕。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: