之前我写过一篇 [已解决]TypeError: Cannot read property ‘xxx‘ of undefined报错情况分析
那篇报错说的是Cannot read
——“不能读取未定义的数据”
这个报错是Cannot set
——“不能设置未定义的数据”,也就是说你不能给未定义的数据赋值。
可以看到:如果一个变量a
没有在data
中定义,你这样去给它赋值: this.a = 'hello,world'
,是没有问题的。这说明跟 数据在不在data中定义 没啥关系。
问题在于this
的指向
this.a
的 this
指的是当前的vue对象。
你看看你的报错的那一行的this
,是指向的是谁?(可以打印出来看看)
你的this.xxx = xx…是不是写在了 axios
, promise
, setInterval
, setTimeout
中?这些默认都是指向最外层的window,因为匿名函数中的this指向的是windows(看看最后那张图片51行输出的thi