微信小程序生命周期详细介绍
- 1. 介绍
- 2. App生命周期
- 3. 页面生命周期
1. 介绍
微信小程序的生命周期主要涉及全局App
实例和各个页面,每个小程序都有自己的生命周期,会依次触发特定的生命周期函数。
2. App生命周期
-
onLaunch
:当小程序初始化完成时,会触发onLaunch
(全局只触发一次)。- 参数:
options
,包含小程序启动时的参数,如路径、场景值等。 - 作用:通常在这个阶段进行全局状态初始化、登录、检测更新等操作。
- 参数:
-
onShow
:当小程序启动,或从后台进入前台显示,会触发onShow
。- 参数:
options
。 - 作用:处理小程序从后台进入前台的逻辑,比如刷新数据、重新渲染页面等。
- 参数:
-
onHide
:当小程序从前台进入后台,会触发onHide
。- 作用:执行清理任务、保存数据等操作。
-
onError
:当小程序发生脚本错误,或者 API 调用失败时,会触发onError
。- 参数:
error
,包含错误信息。
- 参数:
-
onPageNotFound
:当小程序要打开的页面不存在时触发,开发者可以在这个回调中处理页面不存在的情况。- 参数:
options
,包含页面路径等信息。
- 参数:
3. 页面生命周期
微信小程序的页面生命周期函数按照页面的初次加载、每次显示、每次隐藏、卸载这样的流程触发。
-
onLoad
:页面加载时触发,一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。- 参数:
query
,页面加载时的查询参数。
- 参数:
-
onShow
:页面显示/切入前台时触发,如wx.navigateTo
或底部 tab 切换到当前页面时。 -
onReady
:页面初次渲染完成时触发,代表页面已经准备妥当,可以与视图层交互。 -
onHide
:页面隐藏/切入后台时触发,如wx.navigateTo
或底部 tab 切换到其他页面,小程序切入后台等。 -
onUnload
:页面卸载时触发,如wx.redirectTo
或wx.navigateBack
到其他页面时。
除了上述生命周期函数,页面还包括处理用户下拉刷新、上拉触底、滚动、分享等交互的事件处理函数:
onPullDownRefresh
:监听用户下拉刷新事件。onReachBottom
:页面上拉触底事件的处理函数。onPageScroll
:监听用户滑动页面事件。onShareAppMessage
:用户点击右上角转发时调用。
开发者应该根据具体需求合理利用这些生命周期函数和事件处理函数,确保小程序具有良好的性能和用户体验。