HarmonyOS 鸿蒙Next 路由 router.pushUrl 为何在预览器中正常,模拟器不成功

HarmonyOS 鸿蒙Next 路由 router.pushUrl 为何在预览器中正常,模拟器不成功

.onClick(() => {
              router.pushUrl({url: 'pages/StudyList'}).then(()=>{
                console.info('Succeeded in jumping to the StudyList page.')
              }).catch((err: BusinessError) => {
                console.error(`Failed to jump to the second page. Code is ${err.code}, message is ${err.message}`)
              })
            })

这一段代码,我在预览器中是可以正常跳转,没什么问题

但是为啥我使用模拟器的时候,会报错进入catch中。

Failed to jump to the second page. Code is 100002, message is Uri error. The uri of router is not exist.

cke_10509.png


更多关于HarmonyOS 鸿蒙Next 路由 router.pushUrl 为何在预览器中正常,模拟器不成功的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

结合1楼2楼排查,先确认main_page.json是否已经配置目标页面

更多关于HarmonyOS 鸿蒙Next 路由 router.pushUrl 为何在预览器中正常,模拟器不成功的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这个报错是因为跳转的url错误,或者不存在。main_pages.json已经有了,看不出来你的问题,可以的话 提供下你的完整demo,是不是工程问题导致的
在文件main_pages.json中添加'pages/StudyList'

{ “src”: [ “pages/LearnCenter”, “pages/StudyTabs”, “pages/StudyDetail”, “pages/StudyList” ] } 内面的page页面都有创建

HarmonyOS 鸿蒙Next路由中的router.pushUrl功能在预览器中正常但在模拟器不成功的情况,可能是由于模拟器与预览器的环境差异或配置不一致导致。具体原因可能包括:

  1. 路由配置差异:预览器可能使用了默认的路由配置,而模拟器中可能需要额外配置路由规则或权限。

  2. 模拟器环境限制:模拟器在模拟鸿蒙系统环境时,可能存在某些功能或API的限制,导致router.pushUrl无法正常工作。

  3. 资源加载问题:模拟器在加载页面或资源时可能存在延迟或错误,导致路由跳转失败。

  4. 版本兼容性问题:预览器和模拟器的鸿蒙系统版本可能不一致,导致某些API或功能在新旧版本之间存在差异。

  5. 代码错误:虽然预览器能正常运行,但代码中可能存在某些特定于模拟器的错误或未处理的异常情况。

为了解决这个问题,可以检查并确认模拟器的配置与预览器一致,确保所有必要的权限和路由规则都已正确设置。同时,检查代码是否存在模拟器特有的错误或异常处理逻辑。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部