从软件的角度来看,生命周期指程序从创建、到开始、暂停、唤起、停止、卸载的过程。
微信小程序的生命周期:
App({
// 生命周期回调——监听小程序初始化
onLaunch (options) {
console.log('生命周期回调——监听小程序初始化')
},
// 生命周期回调——监听小程序启动或切前台
onShow (options) {
console.log('生命周期回调——监听小程序启动或切前台')
},
// 生命周期回调——监听小程序切后台
onHide () {
console.log('生命周期回调——监听小程序切后台')
},
// 错误监听函数
onError (msg) {
console.log('错误监听函数')
},
// 页面不存在监听函数
onPageNotFound (options) {
console.log('页面不存在监听函数')
},
// 未处理的 Promise 拒绝事件监听函数
onUnhandledRejection (options) {
console.log('未处理的 Promise 拒绝事件监听函数')
},
// 监听系统主题变化
onThemeChange(options) {
console.log('监听系统主题变化')
},
//开发者可以添加任意的函数或数据变量到 Object 参数中,用 this 可以访问
globalData: 'I am global data'
})
小程序初始化完成时触发,全局只触发一次。参数也可以使用 wx.getLaunchOptionsSync 获取。
小程序启动,或从后台进入前台显示时触发。也可以使用 wx.onAppShow 绑定监听。
小程序从前台进入后台时触发。也可以使用 wx.onAppHide 绑定监听。
小程序发生脚本错误或 API 调用报错时触发。也可以使用 wx.onError 绑定监听。
小程序要打开的页面不存在时触发。也可以使用 wx.onPageNotFound 绑定监听。注意事项请参考 wx.onPageNotFound。
参数:与 wx.onPageNotFound 一致
小程序有未处理的 Promise 拒绝时触发。也可以使用 wx.onUnhandledRejection 绑定监听。
系统切换主题时触发。也可以使用 wx.onThemeChange 绑定监听。
// 其他的js文件获取全局变量
var appInstance = getApp()
console.log(appInstance.globalData) // I am global data