生命周期概念
生命周期
-
出生
-
死亡
生命周期(回调)函数
- 出生时自动执行的(回调)函数
- 死亡是自动执行的(回调)函数
小程序生命周期函数分类
App生命周期函数,全局生命周期函数。Page生命周期函数,页面生命周期函数。🚩Component生命周期函数,组件生命周期函数。
App 全局生命周期函数
必须在 app.js 中调用,必须调用且只能调用一次。不然会出现无法预期的后果。
| 属性 | 类型 | 说明 | 备注 |
|---|---|---|---|
| onLaunch | function | 生命周期回调——监听小程序初始化。 | 全局只触发一次 |
| onShow | function | 生命周期回调——监听小程序启动或切前台。 | 主要显示的时候触发 |
| onHide | function | 生命周期回调——监听小程序切后台。 | 隐藏微信和隐藏小程序的时候触发 |
注意:小程序点击右上角按钮其实并不是直接把小程序关闭掉,其实还是会在后台运行,大概 2 ~ 5 分钟 都没进入小程序才会把小程序真正关闭掉。
Page 页面生命周期函数
注册小程序中的一个页面。
| 属性 | 类型 | 说明 | 备注 |
|---|---|---|---|
| onLoad | function | 生命周期回调—监听页面加载 | 大部分发送请求都写这里 |
| onShow | function | 生命周期回调—监听页面显示 | 购物车页,每次打开都用最新的数量 |
| onHide | function | 生命周期回调—监听页面隐藏 | |
| onUnload | function | 生命周期回调—监听页面卸载 | 普通页跳转 tabBar 页会卸载普通页 |
| onReady | function | 生命周期回调—监听页面初次渲染完成 | 了解即可 |
注意:tabBar 页加载后就一直在内存中,所以 tabBar 页不会触发卸载的生命周期函数。
组件生命周期
| 属性 | 类型 | 说明 |
|---|---|---|
| created | function | 在组件实例刚刚被创建时执行 |
| attached | function | 在组件实例进入页面节点树时执行 |
| ready | function | 在组件在视图层布局完成后执行 |
| moved | function | 在组件实例被移动到节点树另一个位置时执行 |
| detached | function | 在组件实例被从页面节点树移除时执行 |
| error | function | 每当组件方法抛出错误时执行 |