请帮忙解决如下问题
完全没有办法,请教各位大神如何解决
data(){
return {
goodsList:[]
}
},
created(){
axios.get("/goods")
.then(function (response) {
var res=response.data
if(res.status=="0"){
this.goodsList=res.result.list
}else{
this.goodsList=[]
}
})
},
后台数据是能获取到的但是报错信息 Uncaught (in promise) TypeError: Cannot set property 'goodsList' of undefined
就是this.goodsList=res.result.list这里出的问题改了名字也一样没有办法解决
请求大神
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
this
,this
,this
在js里用
this
的时候一定要小心,因为这个this
通常指的是调用这个函数的对象,当你无法确定是谁调用了这个函数,就要在这个函数的外面,将你要用到的this
所指的对象赋值给一个变量,然后将这个变量在函数内部使用在你的这段代码中,正如楼上的回答,先在
axios.get()
执行前,将this
也就是这个vue对象赋值给a
即var a = this
关于this相关的我写过一篇文章,有空可以看看哈
javascript对象不完全探索记录01:this! which?- lskrat
原因是axios无法获取到this
解决办法
就可以了