微信小程序 全局变量异步函数_微信小程序【生命周期】
小程序分為應(yīng)用、頁面和組件三個(gè)部分,所以小程序的生命周期涉及以下
應(yīng)用的生命周期
App() 函數(shù)用來注冊(cè)一個(gè)小程序。接受一個(gè) Object 參數(shù),其指定小程序的生命周期回調(diào)等。App() 必須在 app.js 中調(diào)用,必須調(diào)用且只能調(diào)用一次。
App({
onLaunch: function(options) {
// 監(jiān)聽小程序初始化。小程序初始化完成時(shí)(全局只觸發(fā)一次)
},
onShow: function(options) {
// 監(jiān)聽小程序顯示。小程序啟動(dòng),或從后臺(tái)進(jìn)入前臺(tái)顯示時(shí)
},
onHide: function() {
// 監(jiān)聽小程序隱藏。小程序從前臺(tái)進(jìn)入后臺(tái)時(shí)。
},
onError: function(msg) {
console.log(msg) // 錯(cuò)誤監(jiān)聽函數(shù)。小程序發(fā)生腳本錯(cuò)誤,或者 api 調(diào)用失敗時(shí)觸發(fā),會(huì)帶上錯(cuò)誤信息
},
onPageNotFound: function(res) {
// 頁面不存在監(jiān)聽函數(shù)。小程序要打開的頁面不存在時(shí)觸發(fā),會(huì)帶上頁面信息回調(diào)該函數(shù)
},
globalData: 'I am global data' //全局變量
})
前臺(tái)、后臺(tái)定義: 當(dāng)用戶點(diǎn)擊左上角關(guān)閉,或者按了設(shè)備 Home 鍵離開微信,小程序并沒有直接銷毀,而是進(jìn)入了后臺(tái);當(dāng)再次進(jìn)入微信或再次打開小程序,又會(huì)從后臺(tái)進(jìn)入前臺(tái)。
全局的 getApp() 函數(shù)可以用來獲取到小程序 App 實(shí)例。
寫法:var app = getApp()
注意:不要在定義于 App() 內(nèi)的函數(shù)中調(diào)用 getApp() ,使用 this 就可以拿到 app 實(shí)例;通過 getApp() 獲取實(shí)例之后,不要私自調(diào)用生命周期函數(shù)
頁面的生命周期
Page(Object) 函數(shù)用來注冊(cè)一個(gè)頁面。接受一個(gè) Object 類型參數(shù),其指定頁面的初始數(shù)據(jù)、生命周期回調(diào)、事件處理函數(shù)等。
//index.js
Page({
data: {
// 頁面的初始數(shù)據(jù)
text: "This is page data."
},
onLoad: function(options) {
// 生命周期回調(diào)—監(jiān)聽頁面加載
},
onReady: function() {
// 生命周期回調(diào)—監(jiān)聽頁面初次渲染完成
},
onShow: function() {
// 生命周期回調(diào)—監(jiān)聽頁面顯示
},
onHide: function() {
// 生命周期回調(diào)—監(jiān)聽頁面隱藏
},
onUnload: function() {
// 生命周期回調(diào)—監(jiān)聽頁面卸載
},
onPullDownRefresh: function() {
// 監(jiān)聽用戶下拉動(dòng)作
},
onReachBottom: function() {
// 頁面上拉觸底事件的處理函數(shù)
},
onShareAppMessage: function () {
// 用戶點(diǎn)擊右上角轉(zhuǎn)發(fā)
},
onPageScroll: function() {
// 頁面滾動(dòng)觸發(fā)事件的處理函數(shù)
},
onResize: function() {
// 頁面尺寸改變時(shí)觸發(fā)
},
onTabItemTap(item) {
// 當(dāng)前是 tab 頁時(shí),點(diǎn)擊 tab 時(shí)觸發(fā)
console.log(item.index)
console.log(item.pagePath)
console.log(item.text)
},
// 任意的函數(shù),在頁面的函數(shù)中用 this 可以訪問
viewTap: function() {
this.setData({
text: 'Set some data for updating view.'
}, function() {
// this is setData callback
})
},
// 任意數(shù)據(jù),在頁面的函數(shù)中用 this 可以訪問
customData: {
hi: 'MINA'
}
})
頁面生命周期圖
總結(jié):
組件的生命周期
組件的生命周期,指的是組件自身的一些函數(shù),這些函數(shù)在特殊的時(shí)間點(diǎn)或遇到一些特殊的框架事件時(shí)被自動(dòng)觸發(fā)。
其中,最重要的生命周期是 created attached detached ,包含一個(gè)組件實(shí)例生命流程的最主要時(shí)間點(diǎn)。
組件所在頁面的生命周期, 指的是那些并非與組件有很強(qiáng)的關(guān)聯(lián),但有時(shí)組件需要獲知,以便組件內(nèi)部處理的生命周期,在 pageLifetimes 定義段中定義。
應(yīng)用的生命周期對(duì)頁面生命周期的影響
小程序初始化完成后,頁面首次加載觸發(fā)onLoad,只會(huì)觸發(fā)一次。
當(dāng)小程序進(jìn)入到后臺(tái),先執(zhí)行頁面onHide方法再執(zhí)行應(yīng)用onHide方法。
當(dāng)小程序從后臺(tái)進(jìn)入到前臺(tái),先執(zhí)行應(yīng)用onShow方法再執(zhí)行頁面onShow方法。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的微信小程序 全局变量异步函数_微信小程序【生命周期】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中班教案《七巧板》
- 下一篇: 红牛创意口号文案29句