HarmonyOS 关于Navigation中,route_map.json的配置问题

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-navigation.md#setinterception12

在使用 Navigation 替换 Router, 在接入过程中,使用// 工程配置文件module.json5中配置 {"routerMap": "$profile:route_map"}的方式构建路由表,配置如三方链接种demo所示:

// 工程配置文件module.json5中配置 {"routerMap": "$profile:route_map"}  
// route_map.json  
{  
  "routerMap": [  
    {  
      "name": "pageOne",  
      "pageSourceFile": "src/main/ets/pages/PageOne.ets",  
      "buildFunction": "PageOneBuilder",  
      "data": {  
        "description": "this is pageOne"  
      }  
    },  
    {  
      "name": "pageTwo",  
      "pageSourceFile": "src/main/ets/pages/PageTwo.ets",  
      "buildFunction": "PageTwoBuilder"  
    }  
  ]  
}

没有查到明确的配置字段说明,想确认时候有字段配置默认兜底的方式(即调用不存在的name,也能兜底到固定页面,不至于跳转至空白页)。

HarmonyOS
2024-10-17 10:21:18
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

可以在Navigation页面初始化的时候注册setInterception方法就行,请参考以下demo,当跳转的name为pageTwo时,会改变为pageOne。

aboutToAppear(): void {  
  this.pageInfos.setInterception({  
    willShow: (from: NavDestinationContext | "navBar", to: NavDestinationContext | "navBar",  
      operation: NavigationOperation, animated: boolean) => {  
      let target: NavDestinationContext = to as NavDestinationContext;  
      if (target.pathInfo.name === 'pageTwo') {  
        target.pathStack.pop();  
        target.pathStack.pushPathByName('pageOne', null);  
      }  
    }  
  })  
}
分享
微博
QQ
微信
回复
2024-10-17 17:47:19
相关问题
HarmonyOS 关于Map语法问题
399浏览 • 1回复 待解决
HarmonyOS关于navigation问题
568浏览 • 1回复 待解决
HarmonyOS 关于Navigation组件问题
470浏览 • 1回复 待解决
HarmonyOS JSONmap结构如何序列化
552浏览 • 1回复 待解决
HarmonyOS JSON怎么转Map
303浏览 • 1回复 待解决
ceph配置问题关于host配置
2545浏览 • 1回复 待解决
如何在ArkTS实现JSONMap转换?
3257浏览 • 1回复 待解决
HarmonyOS json对象转map类型
154浏览 • 1回复 待解决
HarmonyOS json数据如何转成map
982浏览 • 1回复 待解决
HarmonyOS 如何读取文件router_map.json
66浏览 • 1回复 待解决
如何实现MapJSON字符串
1131浏览 • 1回复 待解决
Map类型怎么转换成Json string
2195浏览 • 1回复 待解决
关于HarmonyOS webviewiFrame使用问题
314浏览 • 1回复 待解决