旧时光
旧时光
  • 发布:2020-04-16 16:29
  • 更新:2020-04-16 17:19
  • 阅读:1498

【报Bug】v3模式报错vue:[-1]$r[1][i] is undefined at view.umd.min.js:1

分类:uni-app

详细问题描述

页面中如果有for循环 里面出现没有定义的值,例如item,就会报错:vue:[-1]$r[1][i] is undefined at view.umd.min.js:1
类似于这样的很多很多报错。

[内容]

重现步骤

建一个uni-app项目,打开V3模式,把示例代码复制都项目中,打开这个页面,运行到真机,控制台就会出现,然后真机页面样式错乱,一定要真机。
[步骤]

[结果]
报错:vue:[-1]$r[1][i] is undefined at view.umd.min.js:1 ,面样式错乱

[期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

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

[IDE版本号]
2.6.11.20200409 V3模式
[windows版本号]
win10
[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式说明:自定义组件模式?纯nvue模式?v3模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]
安卓都行 苹果没有看
[模拟器型号]

附件

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

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

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2020-04-16 16:29 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

代码写法本身是有问题的,在template里边用到的数据,肯定要在data中定义的,以前版本只是没有报错,现在告警提示了,你确定样式乱掉跟这个告警有关系?根据你的示例代码目前体现不出来样式问题

  • 旧时光 (作者)

    警告没有关系,可是这个报错会阻塞其他程序往后执行,导致页面数据直接渲染不出来了,关闭v3后,即使这个数据没有定义,也不会影响不相干的程序执行和页面渲染,感觉问题的严重性你还没觉察到,我只是举了个简单的例子,这个是特例,你们可以忽视。

    2020-04-16 16:49

  • DCloud_UNI_FXY

    回复 旧时光: 未定义的数据,在模板中直接使用,有很大隐患,建议根据警告提示,补充完善数据定义,这属于规范的vue用法

    2020-04-16 16:59

  • 旧时光 (作者)

    回复 DCloud_UNI_FXY: <block v-if="getDetailsMsg.couponList.length > 0">

    <view>

    <view class="equity_list_type_txt" v-for="couponItem in getDetailsMsg.couponList" :key="couponItem.id">{{ couponItem.couponName }}</view>

    </view>

    </block>


    例如这种写法:也会报上面的错误;只有改成:v-if="getDetailsMsg.couponList" 这样才不会报错,页面才不会有问题

    2020-04-16 17:08

  • 旧时光 (作者)

    回复 DCloud_UNI_FXY: 好了,我终于知道解决问题的方法和方向了,这就足够了,结贴!!!

    2020-04-16 17:12

  • 6***@qq.com

    希望报错能报明白一点,chat.vue:[-1]$r[5-0][a-id] is undefined at view.umd.min.js:1,像这种错,真的是有点糊里糊涂的。哪个变量没定义直接报变量名,就能明白怎么回事了,

    2020-04-21 16:55

  • 1***@qq.com

    回复 旧时光: 请问你是怎么解决的?我也遇到了同样的问题

    2020-11-10 09:32

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