先看下頁(yè)面都有哪些生命周期函數(shù)
// pages/test/test.js
Page({
/**
* 頁(yè)面的初始數(shù)據(jù)
*/
data: {
},
/**
* 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
*/
onLoad: function (options) {
},
/**
* 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面顯示
*/
onShow: function () {
},
/**
* 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面隱藏
*/
onHide: function () {
},
/**
* 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面卸載
*/
onUnload: function () {
},
/**
* 頁(yè)面相關(guān)事件處理函數(shù)--監(jiān)聽(tīng)用戶(hù)下拉動(dòng)作
*/
onPullDownRefresh: function () {
},
/**
* 頁(yè)面上拉觸底事件的處理函數(shù)
*/
onReachBottom: function () {
},
/**
* 用戶(hù)點(diǎn)擊右上角分享
*/
onShareAppMessage: function () {
}
})
onLoad() 頁(yè)面加載時(shí)觸發(fā)糖赔。一個(gè)頁(yè)面只會(huì)調(diào)用一次尚胞,可以在 onLoad 的參數(shù)中獲取打開(kāi)當(dāng)前頁(yè)面路徑中的參數(shù)缆蝉。
onShow() 頁(yè)面顯示/切入前臺(tái)時(shí)觸發(fā)晓铆。
onReady() 頁(yè)面初次渲染完成時(shí)觸發(fā)贮匕。一個(gè)頁(yè)面只會(huì)調(diào)用一次姐仅,代表頁(yè)面已經(jīng)準(zhǔn)備妥當(dāng),可以和視圖層進(jìn)行交互。注意:對(duì)界面內(nèi)容進(jìn)行設(shè)置的 API 如wx.setNavigationBarTitle掏膏,請(qǐng)?jiān)?code>onReady之后進(jìn)行
onHide() 頁(yè)面隱藏/切入后臺(tái)時(shí)觸發(fā)劳翰。 如 wx.navigateTo 或底部
tab
切換到其他頁(yè)面,小程序切入后臺(tái)等馒疹。onUnload()頁(yè)面卸載時(shí)觸發(fā)磕道。如wx.redirectTo或wx.navigateBack到其他頁(yè)面時(shí)
onPullDownRefresh() 這個(gè)生命周期函數(shù),是下拉刷新時(shí)觸發(fā)行冰,要開(kāi)啟下拉刷新還需要我們?cè)陧?yè)面的json文件中配置一下
頁(yè)面卸載時(shí)觸發(fā)。如wx.redirectTo或wx.navigateBack到其他頁(yè)面時(shí)伶丐。
{
"usingComponents": {},
"enablePullDownRefresh": true // 當(dāng)值為false時(shí)悼做,不會(huì)觸發(fā)
}
- onReachBottom() 監(jiān)聽(tīng)用戶(hù)上拉觸底事件.* 可以在
app.json
的window
選項(xiàng)中或頁(yè)面配置中
設(shè)置觸發(fā)距離onReachBottomDistance
。在觸發(fā)距離內(nèi)滑動(dòng)期間哗魂,本事件只會(huì)被觸發(fā)一次肛走。 - onPageScroll() 監(jiān)聽(tīng)用戶(hù)滑動(dòng)頁(yè)面事件。
- onAddToFavorites() 監(jiān)聽(tīng)用戶(hù)點(diǎn)擊右上角菜單“收藏”按鈕的行為非区,并自定義收藏內(nèi)容钧栖。
Page({
onAddToFavorites(res) {
// webview 頁(yè)面返回 webviewUrl
console.log('WebviewUrl: ', res.webviewUrl)
return {
title: '自定義標(biāo)題',
imageUrl: 'http://demo.png',
query: 'name=xxx&age=xxx',
}
}
})
- onShareAppMessage()監(jiān)聽(tīng)用戶(hù)點(diǎn)擊頁(yè)面內(nèi)轉(zhuǎn)發(fā)按鈕(button組件
open-type="share"
)或右上角菜單“轉(zhuǎn)發(fā)”按鈕的行為诈豌,并自定義轉(zhuǎn)發(fā)內(nèi)容。注意:只有定義了此事件處理函數(shù)葫男,右上角菜單才會(huì)顯示“轉(zhuǎn)發(fā)”按鈕
Page({
onShareAppMessage: function (res) {
if (res.from === 'button') {
// 來(lái)自頁(yè)面內(nèi)轉(zhuǎn)發(fā)按鈕
console.log(res.target)
}
return {
title: '自定義轉(zhuǎn)發(fā)標(biāo)題',
path: '/page/user?id=123'
}
}
})
- onShareTimeline()監(jiān)聽(tīng)右上角菜單“分享到朋友圈”按鈕的行為,并自定義分享內(nèi)容崔列。注意:只有定義了此事件處理函數(shù)梢褐,右上角菜單才會(huì)顯示“分享到朋友圈”按鈕。自定義轉(zhuǎn)發(fā)內(nèi)容
- onResize()小程序屏幕旋轉(zhuǎn)時(shí)觸發(fā)
- onTabItemTap()點(diǎn)擊 tab 時(shí)觸發(fā)
Page({
onTabItemTap(item) {
console.log(item.index)
console.log(item.pagePath)
console.log(item.text)
}
})