当前位置:   article > 正文

鸿蒙开发路由跳转踩坑_鸿蒙 router.pushurl 不跳转

鸿蒙 router.pushurl 不跳转

文章目录

  • 前言
  • 常见路由不能跳转问题
  • 总结
一、前言
02-25 10:40:10.799 42182-2075594 E C03900/Ace: [manifest_router.cpp(GetPagePath)-(0)] [Engine Log] can't find this page pages
02-25 10:40:10.799 42182-2075594 E C03900/Ace: [page_router_manager.cpp(StartPush)-(0)] [Engine Log] this uri not support in route push.

  • 1
  • 2
  • 3

开发中碰到不能跳转页面,这么简单的跳转,怎么会出现问题呢。跳转地址,复制粘贴了,不可能出错了呀,但依然是不能跳转。

网上查看,有很多人都是说,main_pages.json 文件没有配置跳转的链接。目标页面的链接确实配置了呀。

不死心的我,以为预览的问题。于是我打开了模拟器,想要跳转。

正好这个时候,运行的是Index的默认页面,不是我自己写的页面。也巧,这个时候,这个页面的Hello World 没有点击事件。于是,我就添加上点击事件,点跳转,居然可以跳转。

这个时候我意识到,我自己写的当前页面,没有放入main_pages.json 中。是的,当我把当前页面页添加进main_pages.json 中,页面能够跳转了。

二、总结路由不能跳转的几种情况,怎么避免
1、路由链接不能写错

由于习惯性,我们可能把跳转链接前面多写了个斜杠。比如:/pages/RegistrationSuccessPage

正确写法如下:

 Button('点击跳转页面').onClick(()=>{
            router.pushUrl({
              url: "pages/RegistrationSuccessPage"  //开头不能加斜杆
            })
          })
  • 1
  • 2
  • 3
  • 4
  • 5
2、main_pages.json 要添加目标链接,同时当前页面的链接也要写到main_pages.json 中。
{
  "src": [
    "pages/Index",
    "pages/RegistrationSuccessPage",
    "pages/LoginPage"
  ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

比如我们要从,LoginPage 跳转到 RegistrationSuccessPage页面,这个时候,一定要把 "pages/LoginPage"也加到main_pages.json 中。

这个问题也是我此次碰到的问题。

为了避免这些可能出现的问题,建议把所有页面都添加进来,避免这种低级错误

3、一定要检查每个字符

这里建议是直接复制粘贴。因为我们手打的太容易出错了。如果上面几种情况都没问题,一定是拼错字符了。

最后呢,提醒。main_pages.json 中的链接一定不能写错,怎么判断有没有写错呢,直接按住command + 点击链接,如果能够正常跳转,就说明没问题,然后将main_pages 中的链接copy到router.pushUrl 中就可以了。

总结

1、碰到的坑,以及如何处理解决的
2、常见的路由不能跳转原因总结

如果对你有一点点帮助,那是值得高兴的事情。:)
我的csdn:http://blog.csdn.net/shenshizhong
我的简书:http://www.jianshu.com/u/345daf0211ad

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

闽ICP备14008679号