学习vue.js 不久,一路踩坑无数,很多时候都被同一块石头绊倒。于是下定决心,把遇到的问题无论大小,逐一记录下来。下面就是一个之前似乎遇到过的问题。

开始以为是作用域的问题,排查后没有问题。随后认为是因为 this.chartData.data 没有值,所以报错,然后打印到控制台是有值的,而且‘似乎’就是字符串。

然后我就纳闷了,为什么字符串调用split()方法会报错呢。之后再次注意到 "TypeError",一开始是以为是因为属性值为null或者undefined,所以类型不同。现在明显不是,那么只有一种情况了:data里定义的属性类型不是字符串类型。使用typeof一看,果然不是字符串类型,那么问题找到了。去代码一看,定义成了数组。

之后改成字符串类型就不报错了。
其实虽然报错了,但是最后还是得到了分割之后的数组。因为最开始初始化的时候chartData.data是object类型,但是中间把字符串赋值给它之后,它就变成了字符串类型。

第1,2行是一开始时的类型和值,3,4行是赋值后的类型和值。
网友评论