微信小程序的应用生命周期主要指的是小程序从启动到销毁的整个过程,以及在这个过程中小程序所经历的不同阶段。在微信小程序中,app.js
文件是全局的 JavaScript 脚本文件,用于定义小程序的生命周期函数、全局变量等。
小程序的生命周期函数(在 app.js
中定义)
- onLaunch(Object object)
- 小程序初始化完成时触发(全局只触发一次)。
- 参数
object
可以获取到启动小程序的场景值,例如是从哪个页面进入小程序的。
- onShow(Object object)
- 小程序启动,或从后台进入前台显示时触发。
- 也可以使用
getApp().onShow
在App
实例上监听小程序显示。
- onHide()
- 小程序从前台进入后台时触发。
- 也可以使用
getApp().onHide
在App
实例上监听小程序隐藏。
- onError(String error)
- 小程序发生脚本错误,或者 api 调用失败时触发。
- 可以在这里捕获到小程序的错误信息,并进行上报或处理。
- onPageNotFound(Object object)
- 小程序要打开的页面不存在时触发。
- 可以在这里进行页面重定向、错误提示等操作。
示例 app.js
// app.js
App({
onLaunch: function (options) {
// 小程序启动之后 触发
console.log('小程序启动', options.query);
// 可以在这里进行全局变量的初始化、登录状态的校验等
},
onShow: function (options) {
// 小程序显示之后触发
console.log('小程序显示');
},
onHide: function () {
// 小程序隐藏之后触发
console.log('小程序隐藏');
},
onError: function (msg) {
// 小程序发生错误时触发
console.error('小程序发生错误:', msg);
},
onPageNotFound: function (res) {
// 页面不存在时触发
wx.redirectTo({
url: '/pages/index/index' // 跳转到首页
})
}
})
注意事项
- 小程序的生命周期函数在
App()
函数中定义,这些函数会在小程序的不同阶段被自动调用。 - 开发者可以在这些生命周期函数中执行相应的逻辑,如初始化数据、监听页面变化、处理错误等。
- 需要注意的是,
onLaunch
只会在小程序初始化时调用一次,而onShow
和onHide
则会在小程序显示和隐藏时多次调用。 onError
函数可以捕获到小程序运行时的错误信息,这对于调试和错误监控非常有用。onPageNotFound
函数可以在用户尝试访问不存在的页面时,进行页面重定向或显示错误提示,提升用户体验。