当前位置:   article > 正文

鸿蒙app开发:每天一个小bug:[Engine Log] can‘t find this page pages The uri of router is not exist_[manifest_router.cpp(getpagepath)-(0)] [engine log

[manifest_router.cpp(getpagepath)-(0)] [engine log] can't find this page pag

鸿蒙app开发问题二:


02-06 21:03:06.805 E C03900/Ace: [manifest_router.cpp(GetPagePath)-(0)] [Engine Log] can’t find this page pages
02-06 21:03:06.805 E C03900/Ace: [page_router_manager.cpp(StartPush)-(0)] [Engine Log] this uri not support in route push.
02-06 21:03:06.805 I A0c0d0/JSApp: app Log: 路由错误,错误代码:100002,错误信息:Uri error. The uri of router is not exist.
)
学习鸿蒙app开发的时候,使用路由实现不同页面的跳转,遇到了错误代码标识:10002,表示页面路径错误。可是地址使用正确为什么无法实现呢

问题代码

import router from '@ohos.router'
@Entry
@Component
struct dome{
  build(){
    Row(){
      Column(){
        Button('跳转页面')
          .fontSize(20)
          .onClick(()=>{
            router.pushUrl({
              url:'pages/dome1',
              params:{id:1}
            },
            router.RouterMode.Single,
            err=>{
              console.log(`路由错误,错误代码:${err.code},错误信息:${err.message}`)
            })
          })
      }
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

解决办法

经过仔细学习发现需要在配置文件中,配置到文件的路径才能够被程序识别到。
注意:不仅仅要将跳转的页面路径添加到配置文件中,还需要配置原有的页面路径。即假设从a页面跳转到b页面,a页面和b页面的路径都要配置到配置文件中。
在这里插入图片描述
配置文件为图中的main_pages.json

{
  "src": [
    "pages/Index",
    "pages/a",
    "pages/b"
  ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

配置好后重新加载代码发现实现页面跳转

小知识

并不是没创建一个新的页面都需要手动添加到配置文件中。只需要将使用到的页面在创建中选择page即可快速实现页面路径的自动配置
在这里插入图片描述
需要实现页面交互功能的页面可以使用图中的page来快速配置路径;不需要的简单页面就简单使用ArkTS File来创建页面

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/307115
推荐阅读
相关标签
  

闽ICP备14008679号