鸿蒙 DevEcoStudio:组件实例(页面及组件生命周期函数)

news/2024/9/23 19:00:08/

【使用onPageshow等生命周期函数】

在entry/src/main/ets/pages路径下创建Page1.ets:

import router from '@ohos.router'
@Entry
@Component
struct Page1 {@State message: string = 'Hello World'@State show: boolean=trueaboutToAppear(){console.log('Page1组件创建实例')}aboutToDisappear(){console.log('Page1组件销毁')}onPageShow(){console.log('page1页面展示')}onPageHide(){console.log("page1页面隐藏")}build() {Column() {Button('show').onClick(()=>{this.show=!this.show})if (this.show){ComponentA()}Button('跳转到Page2').onClick(()=>{router.pushUrl({url:"pages/Page2"})})Button('跳转到Page3').onClick(()=>{router.replaceUrl({url:"pages/Page3"})})}.width('100%').height('100%')}
}
@Component
struct ComponentA{aboutToAppear(){console.log('componentA组件创建实例')}aboutToDisappear(){console.log('componentA组件销毁');}build(){Text('compontent A')}
}

在entry/src/main/ets/pages路径下同样创建Page2.ets和Page3.ets:

1.Page2.ets内容:

@Entry
@Component
struct Page2 {@State message: string = 'Page2内容'onPageShow(){console.log('page2页面展示')}onPageHide(){console.log("page2页面隐藏")}onBackPress(){console.log("Page2页面返回")}build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)}.width('100%')}.height('100%')}
}

2.Page3.ets内容:

@Entry
@Component
struct Page3 {@State message: string = 'Page3内容'onPageShow(){console.log('page3页面展示')}onPageHide(){console.log("page3页面隐藏")}build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)}.width('100%')}.height('100%')}
}

在下边点击Log->HiLog,中间最左边的下拉菜单选择Phone,查看效果,如图:


http://www.ppmy.cn/news/1456510.html

相关文章

【android 更改三方相机配流size】

前言 强制修改三方相机配流size, 拍照和预览都可以 声明: 本帖用的是安卓开源代码: http://aospxref.com/android-14.0.0_r2/xref/frameworks/av/services/camera/libcameraservice/api2/CameraDeviceClient.cpp#867 修改方案 867 binder::Status C…

什么是视频号小店?为什么这么多人都在做?一文带你轻松入门!

大家好,我是电商花花。 现在电商的快速发展,电商行业在各大电商平台上不断发展,而视频号小店也被更多人看到和入驻,让更多创业者对视频号小店产生兴趣。 知道的人都觉得视频号小店是一个不可多得的创业项目,因为这里…

Golang | Leetcode Golang题解之第67题二进制求和

题目&#xff1a; 题解&#xff1a; func addBinary(a string, b string) string {ans : ""carry : 0lenA, lenB : len(a), len(b)n : max(lenA, lenB)for i : 0; i < n; i {if i < lenA {carry int(a[lenA-i-1] - 0)}if i < lenB {carry int(b[lenB-i-1…

关于openEuler22.03LTS SP3尝试kolla安装容器版openstack(随手记)

遇到的问题太多了…………当然主要还是我自己能力太差了。 首先&#xff0c;官方的文档显示支持的操作系统有penEuler 22.03 LTS版本的&#xff0c;但注意&#xff1a;官方没有提供直接可用的容器镜像 官方仅提供Rocky、Debian、Ubuntu。CentOS可以使用Rocky镜像尝试&#xff0…

力扣刷题--数组--第一天

一、数组 数组特点&#xff1a; 连续内存空间存储得数据元素类型一致数组可以通过下标索引查找数据元素&#xff0c;可以删除、替换、添加元素等 1.1 二分查找 使用二分查找需满足得条件&#xff1a; 数组是有序的&#xff1b;数组中没有重复元素&#xff1b;查找的target…

Docker基本操作 数据卷

数据卷的理解&#xff1a; 数据卷操作的基本语法: docker volume [command]&#xff1b;二级命令 后边跟随 create :创建一个volume&#xff1b; inspect&#xff1a;显示一个或多个volume的信息; ls:列出所有的volume&#xff1b; prune:删除未使用的volume; rm:删除一个或多…

el-select 点击按钮滚动到选择框顶部

主要代码是在visibleChange 在这个 popper 里面找到 .el-select-dropdown__list let popper ref.$refs.popper const ref this.$refs.select let dom popper.querySelector(.el-select-dropdown__list) setTimeout(() > { dom.scrollIntoView() }, 800) <templat…

Python 贪吃蛇

文章目录 效果图&#xff1a;项目目录结构main.pygame/apple.pygame/base.pygame/snake.pyconstant.py 效果图&#xff1a; 项目目录结构 main.py from snake.game.apple import Apple # 导入苹果类 from snake.game.base import * # 导入游戏基类 from snake.game.snake im…