W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
解釋: App 函數(shù)用來注冊一個智能小程序。接受一個 Object 作為參數(shù),用以指定智能小程序的生命周期函數(shù)等。
注: App 函數(shù)必須在 app.js 中被調(diào)用一次。該函數(shù)在整個小程序中不能被調(diào)用多次,否則會出現(xiàn)無法預(yù)期的后果。
Web 態(tài)說明:
由于 Web 態(tài)框架暫不支持當(dāng)前是否進(jìn)入前、后臺的狀態(tài)檢測,因此在下列場景中,App.onShow、App.onHide 生命周期無法觸發(fā)
參數(shù)
Object object:
屬性 | 類型 | 默認(rèn)值 | 描述 | 觸發(fā)時機 | Web 態(tài)說明 |
---|---|---|---|---|---|
onLogin | Function | 生命周期函數(shù) -- 監(jiān)聽 Web 態(tài)小程序登錄成功( Web 態(tài)小程序獨有) | 當(dāng)小程序初次登錄成功后,會觸發(fā) onLogin (全局只觸發(fā)一次)。 | 僅在 Web 態(tài)小程序中有效,百度 APP 端內(nèi)小程序此生命周期不會觸發(fā) | |
onLaunch | Function | 生命周期函數(shù) -- 監(jiān)聽小程序的初始化 。 | 當(dāng)小程序初始化完成時,會觸發(fā) onLaunch (全局只觸發(fā)一次)。 | ||
onShow | Function | 生命周期函數(shù) -- 監(jiān)聽小程序的顯示 。 | 當(dāng)小程序初始化,或從后臺進(jìn)入前臺顯示,會觸發(fā) onShow 。 | 僅在小程序初始化時觸發(fā) | |
onHide | Function | 生命周期函數(shù) -- 監(jiān)聽小程序的隱藏 。 | 當(dāng)小程序從前臺進(jìn)入后臺,會觸發(fā) onHide。 | 暫不支持 | |
onError | Function | 錯誤監(jiān)聽函數(shù)。 | 小程序發(fā)生腳本錯誤,或者 api 調(diào)用失敗時觸發(fā),會帶上錯誤信息。 | ||
onPageNotFound | Function | 頁面不存在監(jiān)聽函數(shù)。 | 小程序要打開的頁面不存在時觸發(fā),會帶上頁面信息回調(diào)該函數(shù)。 | ||
其他 | Any | 開發(fā)者可以添加任意的函數(shù)或者數(shù)據(jù)到 Object 參數(shù)中, 用 this 可以訪問。 |
onLogin 生命周期解釋
名詞解釋:前臺、后臺:當(dāng)用戶點擊右上角的關(guān)閉,或者按了設(shè)備的 Home 鍵離開智能小程序,智能小程序沒有直接銷毀,而是進(jìn)入到了后臺;當(dāng)再次進(jìn)入智能小程序,又會從后臺進(jìn)入前臺。
注意:只有在以下情況小程序才可能會被動銷毀,參考運行機制:
代碼示例
// app.js
App({
onLogin(options) {
// 使用 options.code 換取 session_key
// 僅在 Web 態(tài)小程序初次登錄成功后會被觸發(fā)
},
onLaunch(options) {
// Do something initial when launch.
},
onShow(options) {
// Do something when show.
},
onHide() {
// Do something when hide.
},
onError(errMsg) {
console.log(errMsg); // 發(fā)生錯誤時,回調(diào)此方法并傳遞錯誤信息
},
globalData: 'This is global data'
});
字段 | 類型 | 說明 |
---|---|---|
code | String | 登錄成功后的 code,用于換取 session_key |
小程序初始化完成時觸發(fā),全局只觸發(fā)一次。
字段 | 類型 | 說明 |
---|---|---|
scene | String | 打開智能小程序的場景值,scene 值統(tǒng)一由百度小程序場景值管理中心在 B 端平臺統(tǒng)一配置后下發(fā)到宿主(例如百度 App),調(diào)起協(xié)議中會攜帶相應(yīng)入口的 scene 值。 |
path | String | 打開小程序的路徑。 |
query | Object | 打開當(dāng)前頁面路徑中的參數(shù)。 |
shareTicket | String | 標(biāo)記轉(zhuǎn)發(fā)對象。 |
referrerInfo | Object | 從另一個小程序打開該小程序時,返回此字段。 |
referrerInfo.appId | String | 來源小程序的 appKey。 |
referrerInfo.extraData | Object | 來源小程序傳過來的數(shù)據(jù)。 |
名詞解釋:
小程序啟動,或從后臺進(jìn)入前臺顯示時觸發(fā)。也可以使用 swan.onAppShow 綁定監(jiān)聽。
參數(shù): 與 swan.onAppShow 一致
小程序從前臺進(jìn)入后臺時觸發(fā)。也可以使用 swan.onAppHide 綁定監(jiān)聽。
小程序發(fā)生腳本錯誤或 API 調(diào)用報錯時觸發(fā)。也可以使用 swan.onError 綁定監(jiān)聽。
參數(shù): 與 swan.onError 一致
小程序要打開的頁面不存在時觸發(fā)。也可以使用 swan.onPageNotFound 綁定監(jiān)聽。注意事項請參考 swan.onPageNotFound。
參數(shù): 與 swan.onPageNotFound 一致
代碼示例
// app.js
App({
onPageNotFound(res) {
// 如果是 tabbar 頁面,請使用 swan.switchTab 進(jìn)行跳轉(zhuǎn)
swan.redirectTo({
url: 'path/to/otherPage'
});
}
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: