鸿蒙单框架页面和组件的声明周期详解
·
当父组件嵌套子组件创建时声明周期是:
父组件的aboutToAppear
子组件的aboutToAppear
父组件的onPageShow
当父组件嵌套子组件销毁时声明周期是:
父组件的onPageHide
父组件的aboutToDisAppear
子组件的aboutToDisAppear
LifecycleTestDemo.ets
import { router, Router } from '@kit.ArkUI';
@Component
struct ChildTest {
aboutToAppear(): void {
console.info('Child', 'aboutToAppear');
}
onPageShow(): void {
console.info('Child', 'onPageShow');
}
onPageHide(): void {
console.info('Child', 'onPageHide');
}
onBackPress(): boolean | void {
console.info('Child', 'onBackPress');
}
aboutToDisappear(): void {
console.info('Child', 'aboutToDisappear');
}
build() {
Column() {
Text('子组件')
.fontSize(30)
}
.border({ width: 5, color: Color.Orange })
}
}
@Entry
@Component
struct LifecycleTestDemo {
@State message: string = '父组件';
aboutToAppear(): void {
console.info('ParentComponent', 'aboutToAppear');
}
onPageShow(): void {
console.info('ParentComponent', 'onPageShow');
}
onPageHide(): void {
console.info('ParentComponent', 'onPageHide');
}
onBackPress(): boolean | void {
console.info('ParentComponent', 'onBackPress');
}
aboutToDisappear(): void {
console.info('ParentComponent', 'aboutToDisappear');
}
build() {
Column() {
Text(this.message)
.id('LifecycleTestDemoHelloWorld')
.fontSize($r('app.float.page_text_font_size'))
.fontWeight(FontWeight.Bold)
.alignRules({
center: { anchor: '__container__', align: VerticalAlign.Center },
middle: { anchor: '__container__', align: HorizontalAlign.Center }
})
.onClick(() => {
router.replaceUrl({
url: 'pages/Test/ProvideAndConsumeDemo'
});
})
ChildTest();
}
.height('50%')
.width('100%')
.border({ width: 5, color: Color.Red })
}
}

更多推荐

所有评论(0)