25. 组件的生命周期
于2023-08-19 16:09:53发布
47
Component({
lifetimes: {
// 在组件实例刚刚被创建时执行
created() {
console.log('组件:create')
},
// 在组件实例进入页面节点树时执行
attached() {
console.log('组件:attached')
},
// 在组件在视图层布局完成后执行
ready() {
console.log('组件:ready')
},
// 在组件实例被移动到节点树另一个位置时执行
moved() {
console.log('组件:moved')
},
// 在组件实例被从页面节点树移除时执行
detached() {
console.log('组件:detached')
},
// 每当组件方法抛出错误时执行
error() {
console.log('组件:error')
}
},
pageLifetimes: {
// 组件所在的页面被展示时执行
show() {
console.log('组件:show')
},
// 组件所在的页面被隐藏时执行
hide() {
console.log('组件:hide')
},
// 组件所在的页面尺寸变化时执行
resize(size) {
console.log('组件:resize')
},
// 组件所在页面路由动画完成时执行
routeDone() {
console.log('组件:routeDone')
}
}
})
其中lifetimes是组件的生命周期,pageLifetimes是“组件所在页面的生命周期”
tips :在旧版本中,组件的生命周期是可以放到外面的,不用写在lifetimes里面,如:
Component({
// 在组件实例刚刚被创建时执行
created() {
console.log('组件:create')
},
// 在组件实例进入页面节点树时执行
attached() {
console.log('组件:attached')
},
// 在组件在视图层布局完成后执行
ready() {
console.log('组件:ready')
},
// 在组件实例被移动到节点树另一个位置时执行
moved() {
console.log('组件:moved')
},
// 在组件实例被从页面节点树移除时执行
detached() {
console.log('组件:detached')
},
// 每当组件方法抛出错误时执行
error() {
console.log('组件:error')
}
})