详细问题描述
页面中如果有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]
旧时光 (作者)
警告没有关系,可是这个报错会阻塞其他程序往后执行,导致页面数据直接渲染不出来了,关闭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