微信小程序的生命周期指的是小程序在运行过程中,特定阶段会自动调用的一系列函数。这些函数可以让开发者在不同阶段执行特定的操作,比如页面加载时的数据请求、页面展示时的更新操作等。以下是微信小程序的主要生命周期函数:
全局生命周期
-
onLaunch(options): 当小程序初始化完成时触发,全局只触发一次。可以在这里进行全局的数据初始化、全局事件监听等操作。
-
onShow(options): 当小程序启动,或从后台进入前台显示时触发。可以在这里获取小程序启动参数,进行页面数据刷新等操作。
-
onHide(): 当小程序从前台进入后台时触发。可以在这里清理定时器、关闭连接等操作。
-
onError(error): 当小程序发生脚本错误或 API 调用失败时触发,会带上错误信息。
页面生命周期
-
onLoad(options): 页面加载时触发,一个页面只会触发一次。可以在这里进行页面初始化,如从后台获取数据等操作。
-
onShow(): 页面显示时触发。每次打开页面都会触发一次,可以在这里进行页面展示时的数据刷新操作。
-
onReady(): 页面初次渲染完成时触发。表示页面已经准备就绪,可以和视图层进行交互。
-
onHide(): 页面隐藏时触发。可以在这里保存页面当前状态,如停止或暂停一些页面相关的定时器、动画等。
-
onUnload(): 页面卸载时触发。如redirectTo或navigateBack到其他页面时,当前页面会被销毁,可以在这里进行清理操作。
组件生命周期
-
created(): 组件实例刚刚被创建时触发,此时还不能访问组件的DOM。可以在这里进行组件的初始化操作。
-
attached(): 组件被添加到页面节点树时触发,可以访问组件的DOM节点。可以在这里进行组件的数据初始化、节点操作等。
-
ready(): 组件布局完成时触发,此时可以获取节点信息。表示组件已经准备就绪,可以和视图层进行交互。
-
moved(): 组件实例被移动到另外一个位置时触发。一般用于监听组件的移动事件。
-
detached(): 组件实例被从页面节点树移除时触发。可以在这里进行组件的清理操作,如清除定时器、解绑事件等。
这些生命周期函数可以帮助开发者在不同的阶段执行特定的操作,保证小程序或组件的正常运行和优化性能。