微信小程序的生命周期可以分为三个部分:应用级生命周期、页面级生命周期和组件的生命周期。
- 应用级生命周期 :
-
onLaunch :小程序初始化完成时触发,且全局只触发一次。
-
onShow :小程序初始化完成(启动)或从后台切换到前台显示时触发。
-
onHide :小程序从前台切换到后台隐藏时触发(如切换到其他app中)。
-
onError :小程序发生脚本错误或者API调用失败的时候,会触发onError并带上错误信息。
-
onPageNotFound :小程序要打开的页面不存在的时候触发。
-
onUnhandledRejection :小程序有未处理的Promise拒绝的时候触发。
-
onThemeChange :系统切换主题时触发。
- 页面级生命周期 :
-
onLoad :页面加载时执行,只执行一次。
-
onShow :页面展示时执行,执行多次。
-
onReady :页面初次渲染时执行,只执行一次。
-
onHide :页面从前台进入后台时执行。
-
onUnload :页面卸载时执行。
-
onReachBottom :页面滚动到底部时触发。
-
onPullDownRefresh :页面下拉刷新时触发。
-
onShareAppMessage :页面被分享时触发。
- 组件的生命周期 :
- 组件的生命周期指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发,通过
Component(Object)
进行注册。
建议
-
应用级生命周期 主要关注整个小程序的启动、显示、隐藏和错误处理等全局事件,适合在
app.js
中定义。 -
页面级生命周期 关注每个页面的加载、显示、渲染、隐藏和卸载等事件,适合在页面的
Page()
函数中定义。 -
组件生命周期 关注组件内部的特殊事件和回调,适合在组件的
Component()
函数中定义。
通过合理使用这些生命周期函数,可以确保小程序在不同阶段都能正常运行和响应,从而提升用户体验和开发效率。