微信小程序的生命周期主要分为三个部分:应用的生命周期、页面的生命周期和组件的生命周期。
-
应用的生命周期:这些生命周期函数在
app.js
中定义,用于处理小程序的启动、显示、隐藏和错误处理等全局事件。-
onLaunch
:小程序初始化完成时触发,全局只触发一次。 -
onShow
:小程序启动,或从后台进入前台显示时触发。 -
onHide
:小程序从前台进入后台时触发。 -
onError
:小程序发生脚本错误或 API 调用报错时触发。 -
onPageNotFound
:小程序要打开的页面不存在时触发。 -
onUnhandledRejection
:小程序有未处理的 Promise 拒绝时触发。 -
onThemeChange
:系统切换主题时触发。
-
-
页面的生命周期:这些生命周期函数在每个页面的 js 文件中定义,用于处理页面的加载、显示、隐藏、卸载等事件。
-
onLoad
:页面加载时触发,常用于获取数据。 -
onShow
:页面显示时触发,常用于刷新数据。 -
onReady
:页面初次渲染完成时触发,常用于获取渲染完成的DOM节点。 -
onHide
:页面隐藏时触发,常用于暂停或清理页面任务(如定时器)。 -
onUnload
:页面卸载时触发,常用于清理页面资源和任务。
-
-
组件的生命周期:这些生命周期函数在每个组件的 js 文件中定义,用于处理组件的创建、附加、移动、卸载等事件。
-
created
:组件实例被创建,但尚未初始化时触发。 -
attached
:组件实例被添加到页面节点树时触发,此时可以进行大部分初始化工作。 -
ready
:组件在页面上布局完成后触发,此时可以进行DOM相关的初始化工作。 -
moved
:组件实例被移动到节点树的其他位置时触发。 -
detached
:组件实例从页面节点树中移除时触发。 -
error
:每当组件方法抛出错误时执行。
-
此外,组件还有一些特殊的生命周期函数,它们在组件所在页面的生命周期中被触发:
-
show
:组件所在的页面被展示时执行。 -
hide
:组件所在的页面被隐藏时执行。