<mark>首先,微信小程序分为有两种生命周期,</mark>
1.页面生命周期(Page)
2.App生命周期
先看App生命周期
查看微信文档
它一共有四种生命周期
1.onLaunch (options)
Launch是启动的意思,当执行小程序时,监听小程序初始化 (初次启动) 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
2.onShow(options)
监听小程序 显示 当小程序启动,或从后台进入前台显示,会触发 onShow
<mark>注意:</mark>
onLaunch 和onShow非常相似,只是前者只有初始化时触发且全局仅仅触发一次,而后者是只要展示就触发一次
3.onHide
监听小程序隐藏 当小程序从前台进入后台,会触发 onHide
4.onError (msg)
当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
注意:
onLaunch 和onShow的方法,都将返回一个参数对象, 里面包含了三个参数 ,
path:打开小程序的路径
query:打开小程序页面url
scene:打开小程序的场景值
其中场景值在微信文档中有明确说明:
查看详情点击这里
页面生命周期
查看微信文档
页面的生命周期比app多很多,
<mark>生命周期:</mark>
Page({
data: {
text: "This is page data."
},
onLoad: function(options) {
// 页面创建时执行
},
onShow: function() {
// 页面出现在前台时执行
},
onReady: function() {
// 页面首次渲染完毕时执行
},
onHide: function() {
// 页面从前台变为后台时执行
},
onUnload: function() {
// 页面销毁时执行
},
onPullDownRefresh: function() {
// 触发下拉刷新时执行
},
onReachBottom: function() {
// 页面触底时执行
},
onShareAppMessage: function () {
// 页面被用户分享时执行
},
onPageScroll: function() {
// 页面滚动时执行
},
onResize: function() {
// 页面尺寸变化时执行
},
onTabItemTap(item) {
// tab 点击时执行
console.log(item.index)
console.log(item.pagePath)
console.log(item.text)
}, // 事件响应函数
viewTap: function() {
this.setData({
text: 'Set some data for updating view.'
}, function() {
// this is setData callback
})
},
// 自由数据
customData: {
hi: 'MINA'
}
})
官网已经详细的对每一个函数进行了详细的介绍,点击上面链接即可
页面生命周期图如下: