鸿蒙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" })
相关推荐
hampeter几秒前
【填坑指南】Trae/VS Code 远程连接 Ubuntu,终端总是自动激活特定的 Conda 环境?三招教你彻底解决!
linux·ubuntu·conda·trae
符哥200816 分钟前
Android 权限分类说明
android
驱动探索者18 分钟前
linux genpool 学习
java·linux·学习
历程里程碑23 分钟前
21:重谈重定义理解一切皆“文件“及缓存区
linux·c语言·开发语言·数据结构·c++·算法·缓存
大模型玩家七七25 分钟前
安全对齐不是消灭风险,而是重新分配风险
android·java·数据库·人工智能·深度学习·安全
李少兄26 分钟前
MySQL 中为时间字段设置默认当前时间
android·数据库·mysql
AZ996ZA34 分钟前
自学linux的二十天【DNS 服务从入门到实战】
linux·运维·服务器
wdfk_prog35 分钟前
[Linux]学习笔记系列 -- [drivers][mmc]mmc_sd
linux·笔记·学习
qinyia36 分钟前
**使用AI助手在智慧运维中快速定位并修复服务异常:以Nginx配置错误导致502错误为例**
linux·运维·服务器·数据库·mysql·nginx·自动化
❀͜͡傀儡师36 分钟前
CentOS 7部署FTP服务
linux·运维·centos·ftp