let a = JSON.parse(xxxa);
let b = JSON.parse(xxxb);
this.list = data.json ? JSON.parse(data.json) : [];
this.$ref['refA'].handle(a);
this.$ref['refB'].handle(b);
问题:当后端返回的data.json格式有问题解析失败后,会导致refA,refB俩个组件的数据也渲染为空了。
解决:
let a = '';let b = '';
try {
let a = JSON.parse(xxxa);
} catch (err) {
this.$message.error('xxxa参数json格式有误');
}
try {
let b = JSON.parse(xxxb);
} catch (err) {
this.$message.error('xxxb参数json格式有误');
}
try {
this.list = data.json ? JSON.parse(data.json) : [];
} catch (err) {
this.$message.error('XXX参数json格式有误');
}
this.$ref['refA'].handle(a);
this.$ref['refB'].handle(b);
该问题解决办法很多,选择这样写为了清晰的定位到底哪个字段的json格式有问题,就是感觉代码有点冗余。但开发时还是得注意代码严谨,不能发生这种js报错阻塞后面代码执行的问题。