当前位置: 首页 > news >正文

鸿蒙开发案列一

1、开发需求

案例app一打开是“Hello world” 界面,开发者点击“Hello world”变成“Hello ArkUI”’

2、源代码

@Entry
@Component
struct Hello {@State person_name: string = 'World'build() {Row() {Column() {Text('Hello '+this.person_name).fontSize(50).fontWeight(FontWeight.Bold)// 分隔组件Divider()Button('点击').onClick(() => {this.person_name = 'ArkTS'}).height(50).width(100).margin({ top: 20 })}.width('100%')}.height('100%')}
}

运行效果动图
在这里插入图片描述

3、涉及知识点补充

  • 装饰器: 用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中@Entry、@Component和@State都是装饰器,@Component表示自定义组件,@Entry表示该自定义组件为入口组件,@State表示组件中的状态变量,状态变量变化会触发UI刷新。
  • UI描述:以声明式的方式来描述UI的结构,例如build()方法中的代码块。
  • 自定义组件:可复用的UI单元,可组合其他组件,如上述被@Component装饰的struct Hello
  • 系统组件:ArkUI框架中默认内置的基础和容器组件,可直接被开发者调用,比如示例中的Column、Text、Divider、Button。
  • 属性方法:组件可以通过链式调用配置多项属性,如fontSize()、width()、height()、backgroundColor()等。
  • 事件方法:组件可以通过链式调用设置多个事件的响应逻辑,如跟随在Button后面的onClick()。
    系统组件、属性方法、事件方法具体使用可参考基于ArkTS的声明式开发范式。除此之外,ArkTS扩展了多种语法范式来使开发更加便捷

相关文章:

  • 基本的 Socket 模型
  • 反序列化字符串逃逸(上篇)
  • 【.NET Core】深入理解异步编程模型(APM)
  • python基础 - 变量
  • 78.网游逆向分析与插件开发-背包的获取-背包类的C++还原与获取物品名称
  • Python基础之文件操作(I/O)
  • html 3D 倒计时爆炸特效
  • mac os电脑用n切换node版本
  • 【ARM 嵌入式 C 入门及渐进7 -- C代码中的可变参数宏详细介绍】
  • 【0247】PG内核checkpoint实现机制分析(2)
  • QT发送request请求
  • Kubernetes(K8S)拉取本地镜像部署Pod 实现类似函数/微服务功能(可设置参数并实时调用)
  • html火焰文字特效
  • MySQL修炼手册12:视图:简化复杂查询与保护数据
  • 高效火情监测,科技助力森林防火【数字地球开放平台】
  • create-react-app做的留言板
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • Github访问慢解决办法
  • javascript从右向左截取指定位数字符的3种方法
  • jquery cookie
  • linux安装openssl、swoole等扩展的具体步骤
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Nacos系列:Nacos的Java SDK使用
  • React16时代,该用什么姿势写 React ?
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 分布式任务队列Celery
  • 推荐一个React的管理后台框架
  • 《天龙八部3D》Unity技术方案揭秘
  • 交换综合实验一
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​低代码平台的核心价值与优势
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (02)vite环境变量配置
  • (C++)八皇后问题
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET Framework .NET Core与 .NET 的区别
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET关于 跳过SSL中遇到的问题
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET应用架构设计:原则、模式与实践 目录预览
  • .net专家(高海东的专栏)
  • .project文件
  • .so文件(linux系统)
  • /var/log/cvslog 太大
  • @AliasFor注解
  • @JsonSerialize注解的使用
  • @Mapper作用
  • @取消转义
  • [20170705]lsnrctl status LISTENER_SCAN1
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色