一、Router 基础概念

1. 作用

@ohos.router 是鸿蒙原生页面路由模块,负责应用内多页面跳转、页面栈管理、页面间数据传递,适用于跨页面、跨模块页面切换。

补充区分:页面级跳转用 router;单页面内局部子页面切换用 Navigation

2. 前置必备配置(踩坑重点)

新建页面后必须注册路由,否则跳转白屏 / 报错:文件路径:entry/src/main/resources/base/profile/main_pages.json

json

{
  "src": [
    "pages/index",
    "pages/denglu",
    "pages/resister"
  ]
}
  • src 数组填写所有 @Entry 页面路径;
  • 路径写法:pages/页面文件名,无需后缀 .ets
  • 新增页面必须手动添加,不会自动生成。
  • 模块

    import router from '@ohos.router';

    1. pushUrl基础跳转

    Text("已有帐号,去登陆")
      .fontSize(20)
      .onClick(()=>{
        // url:目标页面路径;params:可选传参
        router.pushUrl({
          url:"pages/denglu",
          params:{
            fromPage: "register",
            tips: "请输入账号登录"
          }
        })
      })

    back 返回页面

  • // 1. 简单返回上一页
    router.back()
    
    // 2. 直接返回栈中指定页面(跨多层返回)
    router.back({
      url: "pages/index",
      params: { msg: "注册完成,回到首页" } // 返回时携带参数
    })
  • 4. clear 清空历史栈

    // 退出登录,清空所有页面,再跳转登录页
    router.clear();
    router.replaceUrl({url:"pages/denglu"})
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐