微信小程序wepy生命周期详解
由于小程序分为应用和页面两个部分,所以小程序的生命周期就涉及到三个部分,分别是:
- 应用的生命周期
- 页面的生命周期
- 应用的生命周期对页面生命周期的影响
一、 应用的生命周期
应用的生命周期函数在wepy中即app.wpy的生命周期函数。包括三部分:onLaunch、onShow、onHide
onLaunch函数
监听小程序的初始化,当小程序初始化完成之后,会触发一次onLaunch函数,但是全局onLaunch只触发一次。小程序再次启动,若小程序未被销毁,只是退出,则该函数不被触发。
onShow函数
每次小程序启动,小程序从后台进入到前台显示时,触发onShow函数,触发顺序在onLaunch之后,即小程序显示时。
onHide函数
小程序退出时,触发onHide函数,即从前台显示到后台。
总结如下表
属性 | 类型 | 描述 | 触发时机 |
---|---|---|---|
onLaunch | Function | 生命周期函数–监听小程序初始化 | 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) |
onShow | Function | 生命周期函数–监听小程序显示 | 当小程序启动,或从后台进入前台显示,会触发 onShow |
onHide | Function | 生命周期函数–监听小程序隐藏 | 当小程序从前台进入后台,会触发 onHide |
二、 页面的周期函数
wepy中的生命周期的钩子函数有:onLoad,onReady,onShow,onPrefetch等,其中onReady,onShow,onPrefetch只有wepy.page中才有用。wepy.component只支持onLoad,其他都不会触发。
onLoad函数
页面加载完成时调用,一个页面只会调用一次。(在路由跳转的时候通过navigateTo跳转的话onload会重新执行,通过navigateBack跳转的话onLoad不会重新执行)
即页面加载时调用,页面隐藏到后台而非关闭,再次打开不会调用此函数。
onReady函数
页面中的所有资源加载完成时调用。
onShow函数
页面显示的时候调用,每次页面从后台调用到前台时即调用。
onPrefetch函数
在页面跳转时触发,用于预加载和预查询数据。
onUnload函数
在页面卸载时触发(通过redirectTo,switchTab,navigateBack,reLaunch会触发当前页面中的onUnload,但navigateTo不会触发)。