前言
自定義組件的生命周期回調函數用于通知用戶該自定義組件的生命周期净响,這些回調函數是私有的,在運行時由開發(fā)框架在特定的時間進行調用,不能從應用程序中手動調用這些回調函數。
?? 允許在生命周期函數中使用Promise
和異步回調函數察郁,比如網絡資源獲取,定時器設置等美旧;
aboutToAppear
aboutToAppear?(): void
aboutToAppear
函數在創(chuàng)建自定義組件的新實例后怀大,在執(zhí)行其build()
函數之前執(zhí)行。允許在aboutToAppear
函數中改變狀態(tài)變量,更改將在后續(xù)執(zhí)行build()
函數中生效精肃。
從API version 9
開始秤涩,該接口支持在ArkTS
卡片中使用。
aboutToDisappear
aboutToDisappear?(): void
aboutToDisappear
函數在自定義組件析構銷毀之前執(zhí)行司抱。不允許在aboutToDisappear
函數中改變狀態(tài)變量筐眷,特別是@Link
變量的修改可能會導致應用程序行為不穩(wěn)定。
從API version 9
開始习柠,該接口支持在ArkTS
卡片中使用匀谣。
onPageShow
onPageShow?(): void
頁面每次顯示時觸發(fā)一次,包括路由過程资溃、應用進入前臺等場景武翎,僅@Entry
裝飾的自定義組件生效。
onPageHide
onPageHide?(): void
頁面每次隱藏時觸發(fā)一次溶锭,包括路由過程宝恶、應用進入前后臺等場景,僅@Entry
裝飾的自定義組件生效趴捅。
onBackPress
onBackPress?(): void
當用戶點擊返回按鈕時觸發(fā)卑惜,僅@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%')
}
}