羽球联盟 HarmonyOS NEXT 实战系列 (05/20):路由常量、RouteParams与页面跳转封装 文章导读Routes 集中管理页面地址避免字符串散落在各页面。RouteParams 用具名 class 承载 id 和 query适配 ArkTS 严格模式。Nav.push、replace、back、getParams 把 router API 包成业务可读的工具。页面效果从资讯卡片进入详情页时页面标题、正文和底部操作都应跟随传入的 id 切换返回后列表状态保持稳定。实战拆解RouteParams 只包含 id 和 query 两个字段但价值很高。文章详情、装备详情、球员详情使用 id搜索页使用 query。后续如果加入 tab、来源页、埋点信息也可以在一个类里扩展而不用追踪几十处对象字面量。关键代码export class RouteParams { id: string ; query: string ; constructor(id: string , query: string ) { this.id id; this.query query; } } Nav.push(Routes.ARTICLE_DETAIL, new RouteParams(article.id));RouteParams 把跳转参数变成稳定结构页面拿到参数后再决定查找、兜底或展示空态。取舍分析这里的取舍可以从两个方向看一边要让当前页面足够直观用户打开后能马上理解入口、状态和反馈另一边要给后续迭代留下余量避免把数据处理、视觉样式和跳转逻辑全部写死在同一个地方。路由地址集中管理页面只表达“去哪里”和“带什么参数”。 RouteParams 用具名字段承载 id 和 query比散落对象字面量更容易扩展。设计落点路由地址集中管理页面只表达“去哪里”和“带什么参数”。RouteParams 用具名字段承载 id 和 query比散落对象字面量更容易扩展。详情页必须处理参数缺失和数据兜底不能假设跳转永远成功。易踩坑不要把页面路径硬编码在多个业务页里后期改目录会非常痛苦。不要假设 router.getParams 一定有值详情页要有默认 id 或空态。验证方式从资讯卡片进入详情确认 id 对应正确内容。从搜索页提交关键字确认搜索框能恢复 query。缺少参数时显示空态或默认内容。小结路由常量、RouteParams与页面跳转封装 的价值在于把页面现象和工程边界放在一起看用户看到的是流畅的入口、列表、详情和反馈开发者真正维护的是状态、模型和组件之间的关系。这个思路迁移到其他 ArkTS 项目时比单独记某个 API 更可靠。