This article will take you to take a look at the life cycle in the WeChat applet, what life cycle functions are there, and talk about its triggering time and what it does. I hope it will be helpful to everyone!
1. What is life cycle?
Life Cycle(Life Cycle)
refers to the entire stage of an object from creation-> running-> destruction, emphasizing a time period
2. The life cycle of the mini program
Startup
of the mini program represents thelife cycle Start
Close
of the applet, indicating the end of thelife cycle
3. Mini program life cycle classification
Application life cycle Specifically refers to the process of mini program starting --> running --> destruction
Page life cycle Specifically refers to the loading--> rendering--> destruction process of each page in the mini program
Note: The life cycle range of the page is small , the life cycle range of the application is larger
1. What is a life cycle function?
The built-in functions provided by the mini program framework will be automatically executed in sequence along with the life cycle
Life cycle The role of the function:
Note: The life cycle emphasizes the time period, and the life cycle function emphasizes the time point.
2. Application life cycle function
app.js
is the entry file for mini program execution. TheApp()
function must be called inapp.js
and can only be called once. Among them, theApp()
function is used to register and execute the applet.
App(Object)
function receives anObject
Parameters, you can specify the life cycle function of the applet through thisObject
parameter
Code in app.js
The code is as follows (example):
App({ /** * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) */ onLaunch: function () { }, /** * 当小程序启动,或从后台进入前台显示,会触发 onShow */ onShow: function (options) { }, /** * 当小程序从前台进入后台,会触发 onHide */ onHide: function () { }, /** * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息 */ onError: function (msg) { } })
3. Page life cycle
Each mini program page must have its own.js
file, and must call thePage()
function, otherwise an error will be reported. Among them, thePage()
function is used to register the mini program page.
Page(Object)
function receives anObject
parameter. , you can specify the life cycle function of the page through thisObject
parameter
page.js
The code is as follows (example):
//index.js //获取应用实例 const app = getApp() Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
4. The entire life cycle of components
What are the life cycles of components? When are they different?
Life cycle | Parameters | Description |
---|---|---|
created |
None |
Executed when the component instance is just created |
attached |
None |
Executed when the component instance enters the page node tree |
ready | None | Executed after the component is laid out in the view layer |
moved | None | Executed when the component instance is moved to another location in the node tree |
detached |
None | Executed when the component instance is removed from the page node tree |
error | Object Error |
Every Executed when a component method throws an error |
5. 组件主要的生命周期函数
data在哪个生命周期中初始化完毕?
组件的生命周期,指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发。
最重要的生命周期是created
,attached
,detached
,包含一个组件实例生命流程的最主要时间点。
组件实例刚刚被创建好时,created
生命周期被触发
setData
在组件完全初始化完毕、进入页面节点树后,attached
生命周期被触发
this.data
已被初始化完毕在组件离开页面节点树后,detached
生命周期被触发
detached
生命周期被触发detached
会被触发。6. lifetimes 节点
同时以两种方式声明生命周期函数,会执行哪个?
生命周期方法可以直接定义在Component
构造器的第一级参数中,组件的的生命周期也可以在lifetimes
字段内进行声明(这是推荐的方式,其优先级最高)
lifetimes: { attached () { console.log('在组件实例进入页面节点树') }, detached () { console.log('在组件实例被从页面节点树移除') } }, attached () { console.log('~~~~~在组件实例进入页面节点树') }, detached () { console.log('~~~~~在组件实例被从页面节点树移除') }, /** * 组件的初始数据 */ data: { // rgb 的颜色值对象 _rgb: { r: 0, g: 0, b: 0 }, // 根据 rgb 对象的三个属性,动态计算 fullColor 的值 fullColor: '0, 0, 0' }
更多编程相关知识,请访问:编程入门!!
The above is the detailed content of Let's talk about the life cycle (function) in WeChat applet. For more information, please follow other related articles on the PHP Chinese website!