vue---解决bug之获取数据

这个bug困扰了我一天,百度有很多解决方案,主要是说用v-if=“data”,判断获取到了数据的值的时候再渲染,然而对我没有用

获取到了数据,也可以显示出来,但是输出数据的属性值就为undefined

vue---解决bug之获取数据_第1张图片

代码:

vue---解决bug之获取数据_第2张图片

打印出来的数据是:

vue---解决bug之获取数据_第3张图片

就是这个问题,属性值为undefined困扰了我很久。最后问群友,让我打印一下this.list的格式是字符串还是对象。用typeof(this.list)打印后,结果让我惊喜了,就是字符串。

那么为什么this.list的格式是字符串呢?明明我的list定义的是对象。原因是我在上一个页面中传递的信息用storage.set()存储时,存储的数据用JSON.stringfy()转换成了字符串。就是下面这一行代码:

找到了问题后,接下来就是解决问题了。有两种解决方案:

1.存储信息的时候,不用JSON.stringfy()把数据转换成字符串。代码:

存储数据:

获取数据:

vue---解决bug之获取数据_第4张图片

vue---解决bug之获取数据_第5张图片

数据可以成功渲染了

2.就是存储的时候,用JSON.stringfy()把数据转换成字符串了,获取的时候,用JSON.parse()把数据转换成json格式

vue---解决bug之获取数据_第6张图片

注意,json.parse(data),data必须是字符串,不然会报错,不要问我为什么知道。

数据也可以成功渲染了

希望也能帮到你们

你可能感兴趣的:(vue---解决bug之获取数据)