鸿蒙Next开发,配置Navigation的Route

1. 通过router_map.json配置文件进行

  1. 创建页面
  2. 配置router_map.json
typescript 复制代码
{
  "routerMap": [
    {
      "name": "StateExamplePage",
      "pageSourceFile": "src/main/ets/pages/state/StateExamplePage.ets",
      "buildFunction": "PageBuilder"
    },
    ......
}
  1. 跳转

2. 使用pageBuilder()方法进行

  1. 创建三个页面
typescript 复制代码
@Component
export struct pageOneTmp {}
@Component
export struct pageTwoTmp {}
@Component
export struct pageThreeTmp {}
  1. 创建PageMap函数
ts 复制代码
  @Builder
  PageMap(name: string) {
    if (name === "NavDestinationTitle1") {
      pageOneTmp()
    } else if (name === "NavDestinationTitle2") {
      pageTwoTmp()
    } else if (name === "NavDestinationTitle3") {
      pageThreeTmp()
    }
  }
  1. Navigation使用PageMap函数
typescript 复制代码
  Navigation(this.pageInfos) {
  }
  .title("主标题")
  .mode(NavigationMode.Split)
  .navDestination(this.PageMap)
  1. 跳转
typescript 复制代码
this.pageInfos.pushPath({ name: "NavDestinationTitle1" })
this.pageInfos.pushPath({ name: "NavDestinationTitle2" })
this.pageInfos.pushPath({ name: "NavDestinationTitle3" })
相关推荐
peakmain9几秒前
AGP 8 下TheRouter和bcprov的神坑
android
whysqwhw22 分钟前
OkHttp-TLS 模块概要分析
android
菜鸡000124 分钟前
存在两个cuda环境,在conda中切换到另一个
linux·人工智能·conda
byte轻骑兵1 小时前
【Bluedroid】蓝牙协议栈enable流程深度解析
android·c++·bluedroid
吃着火锅x唱着歌1 小时前
LeetCode 424.替换后的最长重复字符
linux·算法·leetcode
妫以明1 小时前
Ubuntu——多媒体应用推荐与安装(音频、视频、图片)
linux·运维·ubuntu·vlc
阿昭L2 小时前
关于僵尸进程
linux·操作系统·僵尸进程
Industio_触觉智能2 小时前
量产技巧之RK3588 Android12默认移除导航栏&状态栏
android·rk3588·开发板·核心板·瑞芯微·rk3588j
小馬佩德罗2 小时前
Android系统的问题分析笔记 - Android上的调试方式 bugreport
android·调试