小程序生命周期
全局生命周期 app.js
:
App() 必须在 app.js 中调用,必须调用且只能调用一次,app.js中定义了一些应用的生命周期函数:
- onLaunch 小程序初始化完成时(全局只触发一次)触发。
- onShow 小程序初始化完成,或从后台进入前台显示时触发。
- onHide 小程序从前台进入后台隐藏时触发。
- onError 小程序发生脚本错误,或者 api 调用失败时触发,会带上错误信息。
页面生命周期 page.js
:
js文件中定义了一些页面生命周期函数:
- onLoad 首次进入页面加载时触发,可以在 onLoad 的参数中获取打开当前页面路径中的参数。
- onShow 加载完成后、后台切到前台或重新进入页面时触发。
- onHide 页面隐藏/切入后台时或进入其他页面触发(点击关闭按钮)。
- onReady 页面初次渲染完成时触发。只触发一次。
- onUnload 页面回退时触发(点击回退按钮)。
生命周期触发顺序
:
- 首次进入小程序会先触发全局生命周期中onLaunch方法和onShow方法,其次触发页面生命周期中onLoad、onShow和onReady方法。
- 前台切换到后台时,先触发页面生命周期中onHide方法,再触发全局生命周期的onHide方法。
- 后台切换到前台时,先触发全局生命周期中onShow方法,再触发页面生命周期的onShow方法。
生命周期函数应用场景
:
-
调用后台接口获取数据
- 一般在生命周期onLoad函数中获取后台接口数据
-
启动定时任务/销毁定时任务
-
获取小程序的场景值
- 场景值作用:获取小程序打开方式的相关数据,用于给实际的运营提供参考数据。
- 如何获取场景值:app.js
- onLaunch
- onShow
onShow: function (param) { // 获取小程序的场景值 console.log(param.scene) // throw new Error('出错了') console.log('小程序初始化完成,小程序启动,') },