小喽啰
小喽啰
  • 发布:2019-05-15 16:05
  • 更新:2019-05-15 16:05
  • 阅读:3869

【报Bug】uni-app 在程序中出现了对undefined变量调用,会导致uniapp源码报错,提示报错页面显示空白。再打开其他页面也无法显示数据,貌似进入死机,请问如何解决?

分类:HBuilderX

详细问题描述

1、在computed里面监听一个数据变化,数据变化后执行一个for循环,但是循环的数组没获取到值,是一个undefind值。导致报错,具体错误代码如下:
TypeError: Cannot read property 'length' of undefined at D:/HBuilderX.1.4.1.20181228.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/mpvue/index.js:638

代码如下:
computed: {
posFlag() {
for (var i = 0; i < this.posArr.length; i++) {
this.reqParams += this.posArr[i].name
}
return this.reqParams
}
},

重现步骤

[步骤]
1、经自己反复测试,发现在vue页面的computed和watch方法里面执行一段错误代码,必定会导致uniapp源码报错。错误代码(TypeError: Cannot read property 'length' of undefined at D:/HBuilderX.1.4.1.20181228.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/mpvue/index.js:638),该错误出现后当前报错页面显示空白,再打开其他页面,其它页面也无法正常显示都为空白页了。
2、数据绑定的组件内部,mounted/onload生命周期内部有报错也会导致同样错误,但是不是必现。

[结果]

[期望]

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

IDE运行环境说明

[IDE版本号]
HBuilderX 1.9.4.20190426

[windows版本号]
windows 7

[mac版本号]

uni-app运行环境说明

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

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

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]
MIUI 10.2.1.0
[iOS版本号]

[手机型号]
小米pad M1806D9PE
[模拟器型号]

附件

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

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

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2019-05-15 16:05 负责人:无 分享
已邀请:

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