2***@qq.com
2***@qq.com
  • 发布:2025-11-05 15:18
  • 更新:2025-11-17 19:27
  • 阅读:167

【报Bug】鸿蒙元服务无法跳转到注册为组件的页面

分类:uni-app

产品分类: uniapp/小程序/鸿蒙元服务

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭中文版 23H2

HBuilderX类型: Alpha

HBuilderX版本号: 4.84

第三方开发者工具版本号: DevEco Studio 6.0.0 Release

基础库版本号:

项目创建方式: HBuilderX

示例代码:

main.js

// 全局注册  
import index3 from "@/pages/index/index3.vue";  
Vue.component("idx3", index3)  
const app = new Vue({  
  ...App  
})  
app.$mount()

pages/index/index

<template>  
  <view class="content">  
    <navigator url="/pages/index/index2">toIndex2</navigator>  
    <navigator url="/pages/index/index3">toIndex3</navigator>  
    <button @click="navigateTo('/pages/index/index3')">navigateToIndex3</button>  
    <button @click="redirectTo('/pages/index/index3')">redirectToIndex3</button>  
  </view>  
</template>  

<script>  

export default {  
  methods: {  
    navigateTo(url) {  
      uni.navigateTo({  
        url  
      })  
    },  
    redirectTo(url) {  
      uni.redirectTo({  
        url  
      })  
    }  
  }  
}  
</script>

操作步骤:

点击任意一个按钮,均无法跳转

预期结果:

能跳转

实际结果:

跳转过去是白屏,对应页面生命周期函数不执行

bug描述:

在鸿蒙元服务中,将一个页面注册为全局组件后,任何页面无论是navigator标签,还是uni.navigateTo,uni.redirectTo,都无法跳转到该页面,显示为白屏,目标页的生命周期函数不触发,无任何日志输出;
在鸿蒙元服务中,将一个页面注册为当前页面的组件后,当前页面无论是navigator标签,还是uni.navigateTo,uni.redirectTo,都无法跳转到该页面。但其他未注册该组件的页面能正常跳转到该页面

但在安卓、iosapp,h5,微信小程序中,均不存在此问题

2025-11-05 15:18 负责人:DCloud_UNI_OttoJi 分享
已邀请:
2***@qq.com

2***@qq.com (作者)

需求场景是tabbar页面,根据后端配置,用v-if显示不同的页面。这就要把所有可以配置的普通页面都注册为组件。这样的话,这些页面都不能跳转了。目前只能是放弃这个功能

DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

你在 pages.json 里注册页面,页面里可以继续饮用 pages 作为组件吗?vue 的版本说一下

  • 2***@qq.com (作者)

    可以,vue2。是vue3我就直接编译为鸿蒙app了

    2025-11-18 16:35

  • DCloud_UNI_OttoJi

    回复 2***@qq.com: 感谢反馈,已经交给元服务这边,后续会继续跟进。

    2025-11-18 17:27

要回复问题请先登录注册