小程序的生命周期主要包括三个层面:应用级别的生命周期(APP)、页面级别的生命周期(page)和组件级别的生命周期(Component)。
1、应用级别(APP)生命周期:
- onLaunch:小程序启动时调用,只在小程序初始化时调用一次,适合全局设置和初始化工作。
- onShow:小程序进入前台显示状态时调用,每次打开小程序或从后台切回前台都会触发。
- onHide:小程序进入后台时调用,当用户切换到其他应用或者小程序被遮挡时触发。
- onUnhandleRejection:全局未处理的Promise拒绝监听函数。
2、页面级别(page)生命周期:
- onLoad:页面加载完成后调用,通常用于
获取数据
和初始化页面。 - onReady:页面渲染完成时调用,此时页面布局已经确定,
可以进行dom操作
- onShow:页面显示或从后台切回是调用
- onHide:页面隐藏或者被其他页面覆盖时调用
- onUnload:页面卸载时调用,通常发生在
跳转到其他页面时
。(例如:清除定时器、注销全局事件监听(window.scroll)、关闭WebSocket连接) - onPullDownRefresh:
下拉刷新事件触发
时调用 - onReachBottom:
页面滚动到底部时
调用 - onResize:窗口尺寸改变时调用
- onTabItemTap:当用户点击tabBar中的某一项时触发
3、组件级别(component)生命周期:
- created:组件实例刚刚被创建时调用
- attached:组件实例被添加到真实dom中时调用
- ready:组件渲染完成,此时可以获取到组件的尺寸和样式信息
- detached:组件从真实dom中移出时调用
- updated:组件数据更新后,dom渲染完成时调用
- beforeUpdate:组件数据更新前调用,可以在此时进行一些数据校验或预处理