微信小程序的自定义组件生命周期函数有六个
生命周期函数 | 参数 | 描述说明 |
created | 无 | 在组件实例刚被创建时执行 |
attached | 无 | 在组件实例进入页面节点树时执行 |
ready | 无 | 在组件在视图层布局完成后执行 |
moved | 无 | 在组件实例被移动到节点树另一个位置时执行 |
detached | 无 | 在组件实例被从页面节点树移除时执行 |
error | Object Error | 每当组件方法抛出错误时执行 |
其中,最最重要的生命周期函数有3个,分别是created、attached、detached
- 组件实例刚被创建好时触发created生命周期函数
此时不能调用setData,只能添加一些自定义的属性字段
- 在组件初始化完毕,进入页面节点树时触发attched生命周期函数
此时,this.data初始化完毕,数据初始化的操作可以在此操作
- 在组件离开页面节点时,触发detached生命周期函数
退出页面时触发,可以做一些清理数据方面的操作
生命周期函数可以定义在Component构造器的第一级参数中,在lifetimes字段中声明
lifetimes:{
attached(){
console.log('attached');
},
created(){
console.log('created');
}
}
组件所在页面的生命周期,有时候组件需要根据页面的变化进行一些操作
组件所在页面的生命周期函数需要定义在pageLifetimes节点中
Component({
pageLifetimes:{
show:function(){},
hide:function(){},
resize:function(){}
}
}