小程序 - 应用的生命周期
小程序的生命周期函数是在app.js里面调用的,App(Object)函数用来注册一个小程序
- onLaunch
监听小程序初始化,用户首次打开小程序,触发 onLaunch(全局只触发一次)
- onShow
监听小程序显示,小程序初始化完成后,触发onShow方法
- onHide
监听小程序隐藏,小程序从前台进入后台,触发onHide方法
- onError
监听小程序错误,小程序发生脚本错误或API调用失败时触
- onPageNotFound
页面不存在监听,小程序打开的页面不存在时候触发
调用顺序为:onLaunch > onShow > onHide
App({ onLaunch: function() { // 用户首次打开小程序,触发 onLaunch }, onShow: function() { // 小程序初始化完成后,触发 }, onHide: function() { // 小程序从前台进入后台,触发 }, onError: function(msg) { // 小程序发生错误或调用失败,触发 }, globalData: 'I am global data' })
小程序 - 页面的生命周期
- onLoad 页面加载
一个页面只调用一次
- onShow
页面载入后触发onShow方法,每次打开页面就会调用一次
- onReady 页面初次渲染完成
一个页面只调用一次
- onHide 页面隐藏
当navigateTo或底部tab切换时调用
- onUnload 页面卸载
当redirectTo或navigateBack的时候调用
调用顺序为:onLoad > onReady > onShow (至于onHide函数就是当隐藏页面的时候触发)
Page({ data: { text: "This is page data." }, onLoad: function(options) { // Do some initialize when page load. }, onReady: function() { // Do something when page ready. }, onShow: function() { // Do something when page show. }, onHide: function() { // Do something when page hide. }, onUnload: function() { // Do something when page close. }, onPullDownRefresh: function() { // Do something when pull down. }, onReachBottom: function() { // Do something when page reach bottom. }, onShareAppMessage: function () { // return custom share data when user share. }, // Event handler. viewTap: function() { this.setData({ text: 'Set some data for updating view.' }) }, customData: { hi: 'MINA' } })
应用生命周期与页面生命周期之间的关系
小程序初始化完成后,页面首次加载触发onLoad,只会触发一次。
当小程序进入到后台,先执行页面onHide方法再执行应用onHide方法。
当小程序从后台进入到前台,先执行应用onShow方法再执行页面onShow方法