上一篇文章我们介绍了 《遥遥领先! HarmonyOS 自定义组件的结构、函数、变量、参数规定,这篇太干了我要渴死了!!!》 现在我们系统的看看 ArkTS页面和自定义组件生命周期
的实现流程步骤
本篇文章主要是玩玩生命周期,本次主要分成组件生命周期和页面的生命周期
页面的生命周期: 只有被@Entry装饰的组件才可以调用页面的生命周期
自定义组件的生命周期: 只有被@Component装饰的自定义组件的生命周期
以下就是生命周期的调用时机了
// 生命周期讲解
import router from '@ohos.router';
@Entry
@Component
struct LifeCycle {
@State textColor: Color = Color.Black;
// 是否显示子组件
@State showChild: boolean = true;
onPageShow() {
this.textColor = Color.Blue;
console.info('页面渲染完毕..加载');
}
onPageHide() {
this.textColor = Color.Transparent;
console.info('生命周期 页面隐藏');
}
onBackPress() {
this.textColor = Color.Red;
console.info('生命周期 页面返回');
}
aboutToAppear() {
console.log("组件实例创建完毕...");
}
aboutToDisappear() {
console.log("销毁组件");
}
build() {
Column() {
Text('Hello World')
.fontColor(this.textColor)
.fontSize(30)
.margin(30)
// this.showChild为true,创建Child子组件,执行Child aboutToAppear
if (this.showChild) {
Child()
}
// this.showChild为false,删除Child子组件,执行Child aboutToDisappear
Button('创建或者删除子组件').onClick(() => {
this.showChild = !this.showChild;
}).height(50).margin(30)
// 执行onPageHide
Button('跳转到Face')
.height(50).margin(30)
.onClick(() => {
router.pushUrl({ url: 'pages/Face' });
})
}.width('100%')
}
}
@Component
struct Child {
@State title: string = '儿子组件';
// 销毁监听
aboutToDisappear() {
console.info('[lifeCycle] 子组件销毁')
}
// 加载监听
aboutToAppear() {
console.info('[lifeCycle] 子组件加载完毕')
}
build() {
Text(this.title).fontSize(50).onClick(() => {
this.title = 'Hello ArkUI';
})
}
}
上面的案例中,LifeCycle 页面的代码编写了父子组件两个自定义组件,一个是入口一个是子组件
我们在父的 build 当中声明了生命周期,子当中也声明了生命周期,下面是初始化的生命周期启动流程.
父 aboutToAppear --> 父 build --> 子 aboutToAppear --> 子 build --> 子 build执行完毕
--> 父 build执行完毕 --> Index onPageShow。
我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!
本期结束咱们下次再见👋~
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。