982260355
982260355
  • 发布:2020-04-10 15:28
  • 更新:2020-04-14 17:19
  • 阅读:894

【报Bug】V3编译出现样式错乱和静态资源找不到的问题

分类:HBuilderX

详细问题描述

v3没有兼容到以前的一些写法,编译到微信小程序和原本的app自定义组件模式一点问题都没有。

图片丢失的原因是图片使用了img标签 而不是image标签,img标签在之前的模式可用,就一直没管。
样式问题有两个原因:
1:两个毫不相关的组件里面使用了相同的class类名,一个没有加scoped就导致了另一个的样式错乱,不管这个组件有没有重新定义这个class类名。
2:如果html里面使用了json数组,且在data里面只定义了 arr : [],在后端返回值之前,页面mounted找不到{{a[0].name}},页面直接undefined,就会导致页面样式混乱。
2.1:类似的还有,如果你对null使用了.length方法,页面也会直接undefined,就会导致页面样式混乱。我这边是让后台返回数组,后台有时候返的null,直接样式都乱掉了。

[内容]

重现步骤

[步骤]
原因1:
1.创建两个毫不相关的组件
2.在同一个tabbar中引入这两个组件
3.组件一中取类名为qiun-columns ,组件二也取类名为qiun-columns,组件一不加scoped,组件二可加可不加
原因2:
1.创建一个picker
2.在picker里面展示label
3.引入一个不相关的组件

[结果]
原因1:
组件二样式错乱
原因2:
不相关的组件样式丢失
[期望]

原因1:
图一是v3模式,图二是compilerVersion : 2,图三是微信小程序
原因2:
图四是v3模式,图五是compilerVersion : 2,图六是微信小程序

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]
HBuilderX 2.6.11.20200409

[windows版本号]
windows 10
[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]
app V3出现问题,微信小程序和app自定义组件模式正常
[运行端版本号]
HBuilderX 2.6.11.20200409
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
HBuilderX创建
[编译模式说明:自定义组件模式?纯nvue模式?v3模式?]
v3模式

App运行环境说明

[Android版本号]
所有
[iOS版本号]
所有
[手机型号]
小米,苹果,华为均出现
[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

18980454423
[QQ]
982260355

2020-04-10 15:28 负责人:无 分享
已邀请:
982260355

982260355 (作者)

@DCloud_UNI_WYQ 上传安装包显示 文件尺寸过大, 最大允许尺寸为 10240 KB

  • DCloud_uniCloud_WYQ

    可以删减一下页面,另外注意压缩的时候不要包含unpackage目录,不要包含.git目录


    2020-04-14 10:42

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

App v3默认不在组件间进行样式隔离(与旧版不同),可以手动在style标签添加scoped

982260355

982260355 (作者)

@DCloud_UNI_WYQ 只上传了第一个原因,这个原因是不会报错的。第一个原因导致样式错乱,第二个是直接报错,导致样式失效。但第一个原因出现的几率会大很多。如果原因一不处理,那我就上传原因二吧。

982260355

982260355 (作者)

@DCloud_UNI_WYQ 原因二已上传

  • DCloud_uniCloud_WYQ

    第二个报错才是正常的,之前那种不报错反而是不正常的


    2020-04-14 19:00

  • DCloud_uniCloud_WYQ

    目前是App端表现更像H5而不是微信小程序


    2020-04-14 19:01

  • 982260355 (作者)

    回复 DCloud_uniCloud_WYQ: 报错就报错,不能把不相关的样式丢失了啊。不能每个用到对象的地方都赋好初值吧,而且这个报错不太容易看懂


    2020-04-14 19:55

  • DCloud_uniCloud_WYQ

    回复 982260355: 第二个问题的报错不是挺容易看懂的吗?会报一个undefined is not an object xxx.xxx.xxx 的错误


    2020-04-14 20:33

该问题目前已经被锁定, 无法添加新回复