微信小程序開發(fā)(生命周期)
通俗點講,生命周期就是指一個對象的生老病死。從軟件的角度來看,生命周期指程序從創(chuàng)建、到開始、暫停、喚起、停止、卸載的過程。
本篇內容從應用生命周期和頁面生命周期兩個方面介紹微信小程序的生命周期。
應用生命周期

應用生命周期方法在app.js文件中聲明,下面是應用生命周期的方法:
①?onLaunch方法:應用第一次啟動的時候會觸發(fā)的事件。
App({
??onLaunch() {
???// 應用第一次啟動的時候會觸發(fā)的事件
??}
})②?onShow方法:應用被用戶看到時候(比如后臺切換后也算),如果是第一次啟動小程序,該方法在onLaunch方法后執(zhí)行。
App({
??onShow(){
???// 應用被用戶看到時候觸發(fā)事件
??}
})③?onHide方法:當應用被隱藏的時候觸發(fā)。
App({
??onHide(){
????// 一般用于暫停或清除定時器
??}
})④?onError方法:當小程序出現報錯的時候。
onError(){
??// 當應用發(fā)生代碼錯誤的時候,收起錯誤信息,將錯誤信息發(fā)送給后臺
}⑤?onPageNotFound方法:當頁面找不到會觸發(fā)。
onPageNotFound(){
??// 當應用第一次被打開時,找不到入口頁時才會被觸發(fā)
??wx.wx.navigateTo({
????// 當找不到啟動頁面時就會跳轉到以下頁面
????url: '/pages/logs/logs'
??});
}頁面生命周期

頁面生命周期方法在頁面.js文件中聲明,下面是頁面生命周期的方法:
① 生命周期函數--監(jiān)聽頁面加載。
/**
?* 生命周期函數--監(jiān)聽頁面加載
?*/
onLoad: function?(options)?{
??// 發(fā)送一些異步請求來初始化頁面數據
},② 生命周期函數--監(jiān)聽頁面顯示。
/**
?* 生命周期函數--監(jiān)聽頁面顯示
?*/
onShow: function?()?{
??// 頁面顯示之后
},③ 生命周期函數--監(jiān)聽頁面初次渲染完成。
/**
?* 生命周期函數--監(jiān)聽頁面初次渲染完成
?*/
onReady: function?()?{
????
},④ 生命周期函數--監(jiān)聽頁面隱藏。注意不是應用隱藏,但是應用隱藏后頁面也跟著隱藏。
/**
?* 生命周期函數--監(jiān)聽頁面隱藏
?*/
onHide: function?()?{
??// 注意不是應用隱藏,但是應用隱藏后頁面也跟著隱藏
},⑤ 生命周期函數--監(jiān)聽頁面卸載。在跳轉其他頁面時關閉當前頁面會觸發(fā)。
/**
?* 生命周期函數--監(jiān)聽頁面卸載
?*/
onUnload: function?()?{
??// 在跳轉其他頁面時關閉當前頁面會觸發(fā)
},⑥ 頁面相關事件處理函數--監(jiān)聽用戶下拉動作。
/**
?* 頁面相關事件處理函數--監(jiān)聽用戶下拉動作
?*/
onPullDownRefresh: function?()?{
??// 監(jiān)聽用戶下拉刷新操作
},⑦ 頁面上拉觸底事件的處理函數。可以對加載下一頁數據操作。
/**
?* 頁面上拉觸底事件的處理函數
?*/
onReachBottom: function?()?{
??// 當頁面內容到低時觸發(fā)
??// 可以對加載下一頁數據操作
},⑧ 用戶點擊右上角分享。
/**
?* 用戶點擊右上角分享
?*/
onShareAppMessage: function?()?{
},⑨ 頁面滾動 就可以觸發(fā)。
// 頁面滾動 就可以觸發(fā)
onPageScroll(){
},⑩ 當頁面的尺寸發(fā)生改變的時候觸發(fā)。
onResize(){
??// 小程序 發(fā)生橫屏 豎屏時候
??// 需要在json文件中加入配置
},當前頁面是tabbar頁面時點擊自己的tabbar頁面時觸發(fā)。
onTabItemTap(){
}評論
圖片
表情
