写点什么

鸿蒙仓颉语言开发教程:页面和组件的生命周期

作者:幽蓝计划
  • 2025-05-28
    山东
  • 本文字数:837 字

    阅读完需:约 3 分钟

大家早上好,今天要分享的内容是仓颉开发语言中的生命周期。


其实幽蓝君比较喜欢分享实战写代码,不太喜欢讲太理论的东西,今天之所以单独写一篇文章分享生命周期的内容,因为这部分内容如果不讲一下还真是容易踩坑。


生命周期指的是页面或者组件从加载、显示到消失的过程,在这个过程中会有一些系统事件,我们可以在其中进行一些操作。比如 ArkTs 中有 aboutToAppear()、onPageShow()等方法。那么仓颉中的生命周期是什么样的呢?


如果你对仓颉毫不了解,只能顺着 ArkTs 的方式试着去写,你会发现仓颉中没有任何关于这部分的代码提示,然后你硬着头皮完全手写下 aboutToAppear、onPageShow 等方法,像这样:


func aboutToAppear(){    AppLog.info("tabbar-aboutToAppear")}func onPageShow(){    AppLog.info("tabbar-aboutToAppear")}
复制代码


运行一下你会发现它不但无效,还会报错,是不是很崩溃。


仓颉的生命周期确确实实是这几个,但是你绝对想不到它的写法。就是在上面的方法中加上 protected 和 open 这两个前缀修饰符:


protected open func aboutToAppear(){    AppLog.info("tabbar-aboutToAppear")}protected open func aboutToDisappear(){    AppLog.info("tabbar-aboutToDisappear")}protected open func onPageShow(){     AppLog.info("tabbar-onPageShow")}protected open func onPageHide(){    AppLog.info("tabbar-onPageHide")}protected open func onBackPress(){    AppLog.info("tabbar-onBackPress")    return true}
复制代码


在 @Entry 装饰的组件或页面中,存在 aboutToAppear、aboutToDisappear、onPageShow、onPageHide、onBackPress 这几个生命周期函数,执行的时机大家看名字就可以猜到。其中 onBackPress 是有 bool 类型的返回值的,当返回 true 说明不使用系统的返回方法,自己处理返回逻辑,反之返回 false。


在只有 @Component 修饰的组件中,只有 aboutToAppear、aboutToDisappear 两个生命周期函数,这一点和 Arkts 保持一致。


以上就是仓颉语言生命周期的相关内容。#HarmonyOS 语言 ##仓颉 ##购物 #

用户头像

幽蓝计划

关注

还未添加个人签名 2025-05-09 加入

还未添加个人简介

评论

发布
暂无评论
鸿蒙仓颉语言开发教程:页面和组件的生命周期_幽蓝计划_InfoQ写作社区