一,生命周期介绍
当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。从前台切换到后台,从后台切换到前台的触发就是生命周期函数。
App() 函数用来注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等。
属性 | 类型 | 描述 | 触发时机 |
---|---|---|---|
onLaunch | Function | 监听小程序初始化 | 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) |
onShow | Function | 监听小程序显示 | 当小程序启动,或从后台进入前台显示,会触发 onShow |
onHide | Function | 监听小程序隐藏 | 当小程序从前台进入后台,会触发 onHide |
onError | Function | 错误监听函数 | 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息 |
App({
onLaunch: function(options) {
// Do something initial when launch.
},
onShow: function(options) {
// Do something when show.
},
onHide: function() {
// Do something when hide.
},
onError: function(msg) {
console.log(msg)
},
globalData: 'I am global data'
})
二,生命周期函数
- onLoad: 页面加载
一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所调用的 query 参数。 - onShow: 页面显示
每次打开页面都会调用一次。 - onReady: 页面初次渲染完成
一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。详见生命周期 - onHide: 页面隐藏
当navigateTo或底部tab切换时调用。 - onUnload: 页面卸载
当redirectTo或navigateBack的时候调用。
三,事件处理函数
onPullDownRefresh: 监听用户下拉刷新事件。
- 需要在app.json的window选项中或页面配置中开启enablePullDownRefresh。
- 当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。
onPullDownRefresh: function() {
// Do something when pull down.
},
onReachBottom: 监听用户上拉触底事件。
- 可以在app.json的window选项中或页面配置中设置触发距离onReachBottomDistance。
- 在触发距离内滑动期间,本事件只会被触发一次。
onReachBottom: function() {
// Do something when page reach bottom.
},