前言
自定义组件的生命周期回调函数用于通知用户该自定义组件的生命周期,这些回调函数是私有的,在运行时由开发框架在特定的时间进行调用,不能从应用程序中手动调用这些回调函数。
⚠️ 允许在生命周期函数中使用Promise
和异步回调函数,比如网络资源获取,定时器设置等;
aboutToAppear
aboutToAppear?(): void
aboutToAppear
函数在创建自定义组件的新实例后,在执行其build()
函数之前执行。允许在aboutToAppear
函数中改变状态变量,更改将在后续执行build()
函数中生效。
从API version 9
开始,该接口支持在ArkTS
卡片中使用。
aboutToDisappear
aboutToDisappear?(): void
aboutToDisappear
函数在自定义组件析构销毁之前执行。不允许在aboutToDisappear
函数中改变状态变量,特别是@Link
变量的修改可能会导致应用程序行为不稳定。
从API version 9
开始,该接口支持在ArkTS
卡片中使用。
onPageShow
onPageShow?(): void
页面每次显示时触发一次,包括路由过程、应用进入前台等场景,仅@Entry
装饰的自定义组件生效。
onPageHide
onPageHide?(): void
页面每次隐藏时触发一次,包括路由过程、应用进入前后台等场景,仅@Entry
装饰的自定义组件生效。
onBackPress
onBackPress?(): void
当用户点击返回按钮时触发,仅@Entry
装饰的自定义组件生效。
示例代码
// xxx.ets
@Entry
@Component
struct IndexComponent {
@State textColor: Color = Color.Black;
onPageShow() {
this.textColor = Color.Blue;
console.info('IndexComponent onPageShow');
}
onPageHide() {
this.textColor = Color.Transparent;
console.info('IndexComponent onPageHide');
}
onBackPress() {
this.textColor = Color.Red;
console.info('IndexComponent onBackPress');
}
build() {
Column() {
Text('Hello World')
.fontColor(this.textColor)
.fontSize(30)
.margin(30)
}.width('100%')
}
}
网友评论