k***@163.com
k***@163.com
  • 发布:2022-05-19 20:30
  • 更新:2023-11-15 17:51
  • 阅读:943

【报Bug】微信小程序在vue3模式下,注册全局组件失效。。

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 11

HBuilderX类型: 正式

HBuilderX版本号: 3.4.7

第三方开发者工具版本号: 1.05.2204180

基础库版本号: 2.2.40

项目创建方式: HBuilderX

示例代码:

main.js

import App from './App'  

import myTest from "./uni_modules/my-test/index.js";  

import { createSSRApp } from 'vue'  
export function createApp() {  
  const app = createSSRApp(App)  
  app.use(myTest)  
  return {  
    app  
  }  
}

uni_modules/my-test/index.js

import myCard from "./components/my-test/my-card.vue";  
export default {  
    install(app) {  
        app.component("my-card", myCard);  
    }  
}

操作步骤:

下载附件中的项目,解压运行

预期结果:

界面上显示文本:cccccc

实际结果:

页面空白

bug描述:

通过app.use()的方式安装插件,在插件install()方法中添加全局组件失效。
最近在写一个插件,需要动态的注册全局组件,在h5模式下没问题,在微信小程序中运行失败。发现是全局组件注册失败。特意写了一个bug重新的demo。希望官方早点修护,感激不尽。

2022-05-19 20:30 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

仅支持在main.js中全局注册。注册时,第一个参数必须是静态的字符串。
vue2:https://uniapp.dcloud.net.cn/tutorial/vue-components.html#%E5%85%A8%E5%B1%80%E6%B3%A8%E5%86%8C

vue3:https://uniapp.dcloud.net.cn/tutorial/vue3-components.html#%E5%85%A8%E5%B1%80%E6%B3%A8%E5%86%8C

  • k***@163.com (作者)

    2022-05-20 12:07

  • 2***@qq.com

    回复 k***@163.com: 所以是怎么解决哦

    2022-06-15 18:44

  • 1***@qq.com

    就这?你哪怕是贴个能解决的链接

    2023-11-15 17:27

  • 1***@qq.com

    回复 1***@qq.com: 通过uni-app的easycom: 将组件引入精简为一步。只要组件安装在项目的 components 目录下,并符合 components/组件名称/组件名称.vue 目录结构。就可以不用引用、注册,直接在页面中使用。

    2024-01-30 10:25

1***@qq.com

1***@qq.com

官方回复就一句仅支持在main.js中全局注册?难道我们不知道是在main.js中注册?太敷衍了吧。 楼主的demo都写的很清楚了,很明确的即使注册的代码移动到main.js也是有问题的,这么严重的bug轻飘飘的一句话就敷衍了,都不做简单复现测试?

8***@qq.com

8***@qq.com - 专治微信小程序疑难杂症: 微信:zicheng199907

亲测无效

要回复问题请先登录注册