微信小程序生命周期
小程序分为应用和页面两个部:
应用的生命周期。
页面的生命周期。
应用的生命周期对页面生命周期的影响。
一、应用的生命周期
属性 | 类型 | 描述 | 触发时机 |
---|---|---|---|
onLaunch | Function | 生命周期函数--监听小程序初始化 | 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) |
onShow | Function | 生命周期函数--监听小程序显示 | 当小程序启动,或从后台进入前台显示,会触发 onShow |
onHide | Function | 生命周期函数--监听小程序隐藏 | 当小程序从前台进入后台,会触发 onHide |
前台、后台定义: 当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。
1、用户首次打开小程序,触发 onLaunch(全局只触发一次)。
2、小程序初始化完成后,触发 onShow 方法,监听小程序显示。
3、小程序从前台进入后台,触发 onHide 方法。
4、小程序从后台进入前台显示,触发 onShow 方法。
5、小程序后台运行一定时间,或系统资源占用过高,会被销毁。
2、小程序初始化完成后,触发 onShow 方法,监听小程序显示。
3、小程序从前台进入后台,触发 onHide 方法。
4、小程序从后台进入前台显示,触发 onShow 方法。
5、小程序后台运行一定时间,或系统资源占用过高,会被销毁。
二、页面生命周期
属性 | 类型 | 描述 |
---|---|---|
data | Object | 页面的初始数据 |
onLoad | Function | 生命周期函数--监听页面加载 |
onReady | Function | 生命周期函数--监听页面初次渲染完成 |
onShow | Function | 生命周期函数--监听页面显示 |
onHide | Function | 生命周期函数--监听页面隐藏 |
onUnload | Function | 生命周期函数--监听页面卸载 |
1、小程序注册完成后,加载页面,触发 onLoad 方法。
2、页面载入后触发 onShow 方法,显示页面。
3、首次显示页面,会触发 onReady 方法,渲染页面元素和样式,一个页面只会调用一次。
4、当小程序后台运行或跳转到其他页面时,触发 onHide 方法。
5、当小程序有后台进入到前台运行或重新进入页面时,触发 onShow 方法。
6、当使用重定向方法 wx.redirectTo(OBJECT) 或关闭当前页返回上一页 wx.navigateBack(),触发 onUnload。
2、页面载入后触发 onShow 方法,显示页面。
3、首次显示页面,会触发 onReady 方法,渲染页面元素和样式,一个页面只会调用一次。
4、当小程序后台运行或跳转到其他页面时,触发 onHide 方法。
5、当小程序有后台进入到前台运行或重新进入页面时,触发 onShow 方法。
6、当使用重定向方法 wx.redirectTo(OBJECT) 或关闭当前页返回上一页 wx.navigateBack(),触发 onUnload。
注:
1、onLoad: 页面加载。
a、一个页面只会调用一次。
b、参数可以获取wx.navigateTo和wx.redirectTo及<navigator/>中的 query。
2、onShow: 页面显示。(前后台切换都会调用)
a、每次打开页面都会调用一次。
3、onReady: 页面初次渲染完成。
a、一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
b、对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。详见生命周期
4、onHide: 页面隐藏。(缓存)
a、当navigateTo或底部tab切换时调用。
5、onUnload: 页面卸载。
a、当redirectTo或navigateBack的时候调用。
a、一个页面只会调用一次。
b、参数可以获取wx.navigateTo和wx.redirectTo及<navigator/>中的 query。
2、onShow: 页面显示。(前后台切换都会调用)
a、每次打开页面都会调用一次。
3、onReady: 页面初次渲染完成。
a、一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
b、对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。详见生命周期
4、onHide: 页面隐藏。(缓存)
a、当navigateTo或底部tab切换时调用。
5、onUnload: 页面卸载。
a、当redirectTo或navigateBack的时候调用。
三、应用生命周期影响页面生命周期
1、小程序初始化完成后,页面首次加载触发onLoad,只会触发一次。
2、当小程序进入到后台,先执行页面onHide方法再执行应用onHide方法。
3、当小程序从后台进入到前台,先执行应用onShow方法再执行页面onShow方法。
2、当小程序进入到后台,先执行页面onHide方法再执行应用onHide方法。
3、当小程序从后台进入到前台,先执行应用onShow方法再执行页面onShow方法。