Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Component constructors should be called while initialization #2648

Closed
classops opened this issue May 19, 2021 · 6 comments
Closed

Component constructors should be called while initialization #2648

classops opened this issue May 19, 2021 · 6 comments

Comments

@classops
Copy link

问题描述
QQ小程序开发者工具显示没问题,真机调试也没问题,但预览显示有问题,报错:
Component constructors should be called while initialization.

复现步骤

  1. vue-cli创建项目 vue create -p dcloudio/uni-preset-vue my-project
  2. 编译工程 yarn run dev:mp-qq
  3. 用QQ小程序开发者工具打开,点 预览,手机QQ扫码预览

预期结果
正常显示
image

实际结果
image
image

系统信息:

  • QQ小程序开发者工具,v0.3.3
  • 操作系统 [Android 10.0]
  • uni-app v3.1.12
  • uni-app cli v2.0.0-31920210428001
  • 设备信息 [如 OnePlus8]
@zerotung
Copy link

经测试应该是一个遗留问题了,从官方开源的 测试代码仓库 来看,编译后在QQ小程序开发者工具中预览正常,安装最新版cli包也预览正常,最后对比代码后发现,给 pages/index/index.vue 中添加一个组件(components)后便能正常预览(不一定需要在template中使用),希望可以帮到你:)

@classops
Copy link
Author

classops commented May 22, 2021

经测试应该是一个遗留问题了,从官方开源的 测试代码仓库 来看,编译后在QQ小程序开发者工具中预览正常,安装最新版cli包也预览正常,最后对比代码后发现,给 pages/index/index.vue 中添加一个组件(components)后便能正常预览(不一定需要在template中使用),希望可以帮到你:)

你说的可以解决问题的一部分,但分包中也出现这个错误,无法通过这种方法解决。这个在dcloud问答社区里,有好几位反应,还望及时解决,很头疼的。对应dcloud的链接:https://ask.dcloud.net.cn/question/119281

@zerotung
Copy link

你说的可以解决问题的一部分,但分包中也出现这个错误,无法通过这种方法解决。这个在dcloud问答社区里,有好几位反应,还望及时解决,很头疼的。对应dcloud的链接:https://ask.dcloud.net.cn/question/119281

确实有这个问题,我这边也重现了

@zerotung
Copy link

你说的可以解决问题的一部分,但分包中也出现这个错误,无法通过这种方法解决。这个在dcloud问答社区里,有好几位反应,还望及时解决,很头疼的。对应dcloud的链接:https://ask.dcloud.net.cn/question/119281

分包问题可能是由于分包的打包规则限制导致的,在分包路径下创建并引用组件,即可解决分包页面的显示问题,我这边实测可行的。分包相关文档

@zhetengbiji
Copy link
Collaborator

目前分析为新版 QQ 小程序开发工具(0.3.2、0.3.3)的 Bug:当页面(使用组件构建)未引入其他组件时运行到真机报错。(由于 QQ 小程序社区无搜索工具,无法得知是否有人反馈过,如哪位开发者有精力可以去查找和反馈一下)。

解决方案(任选其一):

  1. 降级 QQ 小程序开发工具到 0.3.1 及以下版本。
  2. 在每个没有引入组件的页面(vue)没增加冗余的组件引用(此方案由 @zerotung 提供)。
  3. 在编译后的小程序目录手动新建一个小程序组件,在 app.json 内引入。

后续框架可能会自动按方案 3 进行兼容处理。

@activeliang
Copy link

发现了Mac上打开QQ小程序开发者工具问题白屏卡死的问题了。
解决方案是: 调整打开项目时窗口大小,比如1000x600,如果你一开始就开很大,例如:1800x900,恭喜你 等着白屏卡死

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants