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

ArkTS 登录注册页面路由跳转完整学习笔记(扩充完整版)

一、知识前置概述

在鸿蒙 ArkTS 多页面应用开发中,默认仅存在单页面,想要实现登录页 ↔ 注册页互相切换、页面跳转,必须依靠官方@ohos.router路由模块完成页面管理。 路由的核心作用:管理应用内多个页面栈、实现页面正向跳转、页面回退、销毁历史页面,是所有多页面项目的基础必备知识点。 本案例实现完整业务流程:登录页点击「去注册」跳转到注册页;注册页点击「已有账号去登录」返回登录页,区分两种跳转 API:pushUrlreplaceUrl。 整体分为三大核心步骤:路由配置文件注册页面、登录页编写跳转逻辑、注册页编写返回逻辑。

步骤 1:配置 route_map.json 全局路由注册文件

1.1 文件作用说明

route_map.json是鸿蒙项目全局路由注册表,相当于页面 “通讯录”,只有在这里填写页面文件路径,router工具才能识别、找到对应页面,否则调用跳转代码会直接编译报错、页面找不到。 项目所有需要跳转的页面,都必须在src数组内添加对应路径。

1.2 操作完整流程

  1. 在项目目录中找到entry/src/main/resources/base/profile/route_map.json文件;
  2. 找到 JSON 内的"src": []数组,数组中每一条字符串代表一个可路由页面;
  3. 新增两条页面路径:登录页pages/Logins、注册页pages/Register
  4. { "src": [ "pages/Index", "pages/Second", "pages/Logins", // 登录页面路径 "pages/Register", // 注册页面路径 "pages/RouterDemo", "pages/PageOne", "pages/LoginRouter", "pages/Homepage" ] }

注:

  • 关键注意事项(易错点扩充)修改完route_map.json文件后,必须点击编辑器上方「立即同步」按钮,让开发工具更新页面索引;如果忘记同步,运行时会抛出页面不存在异常,跳转功能完全失效。
  • 路径书写规范:路径严格区分大小写,必须和 ets 页面文件存放目录名称完全一致,不能多写、少写字符。

步骤 2:

步骤 2:登录 Login 页面引入 router,实现「去注册」跳转逻辑

2.2 模块导入说明

路由工具不会自动内置,每一个需要跳转页面的 ets 文件,首行必须手动导入路由模块:

ets

import router from '@ohos.router';

导入语句必须写在文件最顶部,所有组件定义之前。

2.2 页面结构业务拆解

登录页面完整结构由 4 部分组成:

  1. 标题文本「登录」;
  2. 账号输入框、密码输入框(密码框开启密文模式InputType.Password);
  3. 蓝色登录提交按钮;
  4. 底部蓝色文字「没有账号?去注册」—— 绑定点击事件,实现页面跳转。

2.3 跳转 API 详解:router.pushUrl ()

语法:router.pushUrl({ url: "页面路径" })

  • 功能:入栈跳转,打开新页面,保留当前登录页在页面栈;
  • 页面栈效果:登录页→注册页,点击系统返回键,会回到登录页;
  • 适用场景:从首页、登录页进入详情、注册、活动页,需要保留上一页场景。

页面运行效果

模拟器中打开登录页面,底部蓝色「去注册」文字点击后,平滑切换至注册页面;点击模拟器返回箭头,会退回到登录页面。

步骤 3:注册 Register 页面,实现返回登录逻辑

3.1 页面逻辑需求

注册页面分为两种返回登录场景:

  1. 用户仅浏览注册页,点击文字「已有账号去登录」返回登录;
  2. 用户完成注册操作,注册成功后跳转登录,销毁注册页面记录,无法回退到注册页。

3.2 两种路由 API 对比(重点扩充考点)

  1. router.pushUrl()
    • 页面栈:新增页面,新旧页面全部保留;
    • 返回行为:可以返回上一页;
    • 使用场景:单纯页面浏览跳转。
  2. router.replaceUrl()
    • 页面栈:替换当前页面,销毁当前注册页记录;
    • 返回行为:跳转后点击返回,直接回到登录页的上一级页面,不会回到注册页;
    • 使用场景:注册成功、表单提交、支付完成等一次性流程页面。

补充拓展:router.back () 回退 API

如果仅需要回到上一级页面,无需填写页面路径,直接调用router.back()即可,代码更简洁,适合页面简单返回场景。

四、拓展加分知识点(课堂拔高内容)

4.1 页面栈原理通俗解释

鸿蒙路由采用栈结构管理页面:

  1. 打开登录页 → 栈:[登录页]
  2. pushUrl 跳注册页 → 栈:[登录页,注册页],返回键弹出栈顶回到登录;
  3. replaceUrl 跳转登录 → 栈:[登录页],注册页被直接销毁,不存在栈内。

4.2 开发常见报错与解决方案

  1. 跳转提示页面不存在
    • 原因:route_map.json 未添加页面路径 / 修改后未点同步 /url 路径大小写不一致;
    • 解决:核对 json 路径,点击立即同步,url 字符串和 json 完全一致。
  2. router 未定义报错
    • 原因:文件顶部缺少import router from '@ohos.router';导入语句;
    • 解决:在代码最上方补充导入。
  3. 点击文字无跳转反应
    • 原因:onClick 事件未正确绑定、url 路径写错;
    • 解决:检查点击回调函数大括号、页面路径。

4.3 业务开发规范建议

  1. 登录、注册、支付、弹窗等一次性流程页面,提交完成统一使用replaceUrl,避免用户重复回退无效页面;
  2. 商品详情、资讯、活动页使用pushUrl,保留页面栈方便用户返回浏览;
  3. 页面内返回按钮优先使用router.back(),减少硬编码页面路径,便于后期维护。

五、完整流程总结

  1. 配置路由注册表 route_map.json,登记所有需要跳转页面;
  2. 跳转页面顶部导入router路由工具;
  3. 点击控件绑定onClick点击事件;
  4. 根据业务场景选择pushUrl(保留页面)/replaceUrl(销毁页面)/back()(回退上一页)完成页面切换;
  5. 区分登录、注册业务场景,合理选用对应路由 API。
http://www.jsqmd.com/news/1096826/

相关文章:

  • C盘扩容工具
  • 2026年不可错过的AI论文写作神器,全方位提升论文质量
  • QKeyMapper:免费开源的Windows按键映射工具终极指南,让手柄玩转PC游戏
  • 2026论文神器!4款AI工具实测,一键生成高质量毕业论文初稿
  • 嵌入式裸机开发实战教程:从电路调试到驱动手写零基础入门
  • 多模态融合|从原理到实践:深入解析Cross Attention在图文生成中的核心作用
  • 【实战指南】从零到一:将YOLOv5模型部署至Android App的完整流程与性能调优
  • 3D格式转换之STL转GLB格式转换技术文档
  • 全国产短波红外相机推荐:SWIR1503BG-NC
  • 3分钟搞定桌面整理:免费开源NoFences桌面分区管理终极教程
  • 别再手动改属性了!用PowerShell和touch命令批量修改文件时间戳的保姆级教程
  • 适配高校毕业论文规范:gradpaper 写作功能的核心优势解析
  • LLaMA Factory+ModelScope实战——使用 Web UI 进行指令微调
  • 手机接收机核心电路解析:中频放大与调制解调如何塑造信号质量
  • 【紫光同创国产FPGA实战】——PDS安装与环境配置一站式指南
  • 2026降AI率软件实测:10款工具对比,论文过审技巧盘点
  • 2026上半年A股科技赛道分化剧烈,下半年从普涨转向精选,泡沫之争待解!
  • Windows系统文件api-ms-win-core-apiquery-l1-1-0.dll丢失找不到问题解决
  • 【Qt】Qt6从入门到实战:一站式学习路线与核心模块精讲
  • 让消失的小说重现:novel-downloader终极离线阅读解决方案
  • 别再死记硬背了!用这5个真实项目案例,带你吃透Vue 3的Composition API
  • Nvidia Jetson Nano 部署GPU版PyTorch:从Archiconda环境搭建到核心问题解决
  • Vivado综合属性深度解析:RAM_STYLE的实战选择与性能权衡
  • 【AI大模型】本地推理:零基础运行第一个开源大模型
  • 【架构实战】基于 Docker 与异构计算的企业级 AI 视频管理平台:打破 GB28181/RTSP 协议壁垒,全源码交付的私有化部署方案
  • CentOS7部署企业级NTP时间同步服务:从零到精通的实战指南
  • GEO关键词优化工具推荐:高效分析+精准挖掘,提升优化效率
  • 从填信息就踩中高校规范:gradpaper 毕业论文功能的细节设计巧思
  • 4大核心技术革新:Magpie如何重新定义Windows窗口放大体验
  • 硬件性能指标实战解读:从DMIPS到TOPS,如何为你的项目选对芯片?