生命周期:
是指一个对象从创建 -> 运行-> 销的整个阶段,强调的是一个时间段 小程序从运行到结束就是一个生命周期
生命周期的分类
在小程序中,生命周期分为两类,分别是:应用生命周期和页面生命周期
应用生命周期
特指小程序从启动-> 运行-> 销毁的过程页面生命周期
小程序的应用生命周期函数需要在app.js
中进行声明
App() 函数用来注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等。
必须在 app.js 中调用,必须调用且只能调用一次,app.js中定义了一些应用的生命周期函数。
onLaunch: 初始化小程序时触发,全局只触发一次
onShow: 小程序初始化完成或用户从后台切换到前台显示时触发
onHide: 用户从前台切换到后台隐藏时触发
onError: 小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
前台: 当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;
前台:当再次进入微信或再次打开小程序,又会从后台进入前台。
页面生命周期
特指小程序中,每个页面的加载->渲染->销毁的过程
其中,页面的生命周期范围较小,应用程序的生命周期范围较大
(1)onLoad() 页面加载时触发,只会调用一次,可获取当前页面路径中的参数。
(2)onShow() 页面显示/切入前台时触发,一般用来发送数据请求;
(3)onReady() 页面初次渲染完成时触发, 只会调用一次,代表页面已可和视图层进行交互。
(4)onHide() 页面隐藏/切入后台时触发, 如底部 tab 切换到其他页面或小程序切入后台。
(5)onUnload() 页面卸载时触发,如redirectTo或navigateBack到其他页面时。
应用(app)onLaunch -> 应用(app)onShow -> 页面(page)-> onLoad -> 页面(page)onShow -> 页面(page)onReady