HarmonyOS ArkTS 进阶核心知识点:@状态装饰器、弹窗、页面路由
一、@status 状态装饰器:页面动态数据的核心
1. 核心作用
@status(状态装饰器)是 ArkTS 响应式编程的基础,被该装饰器修饰的变量会成为响应式数据:当变量值发生修改时,页面上所有绑定该变量的组件会自动刷新 UI,不需要手动重绘页面。
如果不使用状态装饰器,修改变量后界面不会同步更新。
2. 基础使用示例

3. 常见使用场景
计数器、开关 Toggle、输入框实时文字展示;
列表数据增删、轮播当前下标;
弹窗显示 / 隐藏标记、页面加载状态;
单选、多选组件选中值同步。
二、弹窗:全局 / 局部弹出交互窗口
弹窗是页面二次交互载体,常用于提示、确认操作、表单填写、消息提醒,鸿蒙提供两种主流弹窗实现方案。
示例:

三、页面路由:多页面之间跳转与传参
路由用来实现多页面跳转和参数传递,一个应用一般会包含多个页面,通过路由管理页面的跳转、回退和数据传递。
1. 基础跳转 router 模块
需要先导入路由模块:import router from '@ohos.router';
跳转:router.pushUrl({ url: 'pages/页面名', params: { 参数key: 参数值 } })
接收参数:在目标页面的onPageShow生命周期中,通过router.getParams()获取参数
所有需要跳转的页面,必须在项目根目录的main_pages.json中注册,否则无法跳转
示例:

跳转结果:

2. 路由使用场景
首页→详情页、列表→编辑页(pushUrl 保留返回栈);
登录成功跳首页(replaceUrl,禁止返回登录页);
弹窗、表单完成后返回上一页(router.back);
页面之间互相传递 ID、表单数据、商品信息。
四、知识总结
@status 状态装饰器:驱动 UI 动态刷新的底层能力,所有会变化的页面数据都需要用它修饰;
弹窗:页面浮层交互工具,分系统简易弹窗与完全自定义弹窗,覆盖提示、表单、选择需求;
路由:实现多页面应用的核心,掌握跳转、传参、返回三个核心能力就能搭建完整多页面项目。
ArkTS 交互核心:onClick 点击事件与 onChange 变更事件
在鸿蒙 ArkTS 开发中,页面交互全部依靠组件事件实现。其中使用频率最高的两大事件:onClick 点击事件、onChange 值变更事件,几乎所有表单、按钮、选择类组件都会绑定这两个事件
一、onClick 点击事件:处理用户点击操作
1. 作用
当用户点击 / 触摸组件时触发回调函数,适用于所有可点击组件:Button、Text、Image、Row、Column、自定义方块等。
2. 基础语法

3.示例:

4. 适用场景
按钮:提交表单、跳转页面、弹窗开关;
图片 / 文字:点击查看详情、打开弹窗;
布局容器 Row/Column:整行区域点击跳转。
二、onChange 值变更事件:监听组件数据变化
1. 作用
当组件选中值 / 输入内容 / 开关状态发生改变时触发,携带最新值作为回调参数,专门用于带可变更状态的表单组件:TextInput、Toggle、Radio、Slider、Tabs 等。
2. 基础语法

3.示例:

4. 适用场景
TextInput:实时获取用户输入、搜索联想;
Toggle/Switch:监听功能开关状态;
Radio/Checkbox:监听单选 / 多选切换;
Slider 进度条:监听拖动数值变化;
Tabs 选项卡:监听标签页切换。
三、onClick 与 onChange 核心区别对比
| 事件 | 触发时机 | 回调参数 | 适用组件 |
|---|---|---|---|
| onClick | 用户手指点击组件瞬间 | 无参数 | Button、Text、Image、布局容器等全部组件 |
| onChange | 组件内部值 / 状态发生改变 | 携带最新值 | 输入框、开关、单选、滑块、选项卡等表单组件 |
关键区分技巧
单纯点击操作,不需要获取内容变化 → 用 onClick;
需要监听输入文字、开关状态、选中项变化 → 用 onChange;
同一组件可同时绑定两个事件,互不冲突。
四、总结
onClick 是基础点击交互,是页面所有跳转、弹窗、按钮操作的入口;
onChange 是表单数据监听核心,用来实时捕获用户输入与选择;
两个事件配合@status状态装饰器使用,实现完整响应式交互;
绝大多数鸿蒙业务页面交互逻辑,都可以依靠这两个基础事件完成。
更多推荐

所有评论(0)