鸿蒙开发路由跳转踩坑

news/2025/2/14 0:19:06/

文章目录

  • 前言
  • 常见路由不能跳转问题
  • 总结
一、前言
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.

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

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

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

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

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

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

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

正确写法如下:

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

比如我们要从,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


http://www.ppmy.cn/news/1363431.html

相关文章

量子前沿:美国计算社区联盟CCC发布量子计算进展最新研报!

内容来源:量子前哨(ID:Qforepost) 编辑丨慕一 编译/排版丨沛贤 深度好文:1800字丨12分钟阅读 近日,美国计算社区联盟 (CCC) 发布了过去五年量子计算进展的最新报告。CCC还分享了美国东北大学库里计算机科…

什么时候用ref和reactive

在Vue 3中,ref和reactive都是用于创建响应式数据的工具,但它们的使用场景有所不同。 使用ref的情况: 基本数据类型:当你需要响应式地处理基本数据类型(如数字、字符串、布尔值)时,应该使用ref…

RabbitMQ学习整理————基于RabbitMQ实现RPC

基于RabbitMQ实现RPC 前言什么是RPCRabbitMQ如何实现RPCRPC简单示例通过Spring AMQP实现RPC 前言 这边参考了RabbitMQ的官网,想整理一篇关于RabbitMQ实现RPC调用的博客,打算把两种实现RPC调用的都整理一下,一个是使用官方提供的一个Java cli…

探索便捷办公新选择:ONLYOFFICE 桌面编辑器

目录 引言 1. ONLYOFFICE 桌面编辑器简介 2. 功能特点 2.1 多格式支持 2.2 实时协作编辑 2.3 兼容性与格式保持 2.4 丰富的编辑功能 3. 使用方法 3.1 下载安装 3.2 打开文档 3.3 编辑文档 3.4 保存和共享 4. 注意事项 4.1 版本更新 4.2 网络连接 4.3 安全性 5.…

flink学习之旅(二)

目前flink中的资源管理主要是使用的hadoop圈里的yarn,故此需要先搭建hadoop环境并启动yarn和hdfs,由于看到的教程都是集群版,现实是只有1台机器,故此都是使用这台机器安装。 1.下载对应hadoop安装包 https://dlcdn.apache.org/h…

Adobe Premiere Pro 引入AI提升对话音质;Stable Diffusion:AI图像生成简介

🦉 AI新闻 🚀 Adobe Premiere Pro 引入AI提升对话音质 摘要:Adobe公司最近发布了一项更新,为其视频编辑软件Premiere Pro(22.4版本)新增了一个名为Enhance Speech的功能,通过AI技术自动调节对…

‘vue/max-attributes-per-line‘报错属性应该单独一行,prettier可能也报错。

原因 一般是vscode和项目里设置不一致造成的。设置了保存自动格式化,这个是优先使用vscode里的设置的。所以要注意保持一致。 相关设置 项目里eslint配置.eslintrc.js,singleline这个设置表示一行最多放几个属性。设置几个都很难配合prettier的printW…

opengles 背面剔除介绍(十二)

文章目录 前言一、OpenGL ES 剔除功能简介二、Opengl ES 剔除功能相关的API1.使能剔除功能2. 配置面剔除模式3. 设置剔除面的顺序4. 禁用剔除功能总结参考资料前言 本文主要介绍 opengles3.0 中的背面剔除相关知识,对于绘制3d 图形, 经常会用到它,并且它能提升渲染效率 软硬…