尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

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

ArkTS 登录注册页面路由跳转完整学习笔记(扩充完整版)
📅 发布时间:2026/6/30 15:50:02

一、知识前置概述

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

步骤 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。

相关新闻

  • 多模态融合|从原理到实践:深入解析Cross Attention在图文生成中的核心作用
  • Windows系统文件api-ms-win-core-apiquery-l1-1-0.dll丢失找不到问题解决
  • 别再死记硬背了!用这5个真实项目案例,带你吃透Vue 3的Composition API

最新新闻

  • NVIDIA Profile Inspector:如何深度定制显卡驱动配置文件来优化游戏性能
  • 告别手动点击!用Python脚本批量下载Synapse数据(附完整代码与Token获取指南)
  • 别再花钱买数据了!用Python+Baostock免费获取A股历史K线(附完整代码)
  • 从0到1:PilotGo-plugin-llmops在生产环境中的部署与优化
  • LibreTranslate:构建企业级私有化翻译API的3个关键技术方案
  • 实战教程:使用NVMe-snsd构建高可用存储网络架构

日新闻

  • 【计算机毕业设计案例】基于 Spring Boot+Vue 的电影售票系统设计与实现 前后端分离架构下影院在线购票管理平台(程序+文档+讲解+定制)
  • 到底 TMD 用哪个: npm, pnpm, Yarn, Bun, Deno? 傻瓜, 当然用 npm 啦
  • Google限制Meta使用Gemini模型 凸显AI授权竞争白热化

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号