vue2.0 axios 获取数据报错
数据无法加载,报错怎么解决?求大神解答
<template>
<div class="recommend">
<div class="recommend-content">
<scroll ref="scroll" class="recommend-content">
<div>
<div v-if="recommends.length" class="slider-wrapper" ref="sliderWrapper">
<slider>
<div v-for="item in recommends">
<a :href="item.mien_img">
<img class="needsclick" @load="loadImage" :src="item.mien_img">
</a>
</div>
</slider>
</div>
</div>
</scroll>
</div>
</div>
</template>
<script type="text/ecmascript-6">
import Slider from 'base/slider/slider'
import Scroll from 'base/scroll/scroll'
import axios from 'axios'
import qs from 'qs'
const ERR_OK = 200
export default {
data() {
return {
recommends: []
}
},
created() {
this.getRecommend()
},
methods: {
getRecommend() {
var token = JSON.parse(localStorage.token)
axios.post(url, qs.stringify({
token: token
})).then(function(res) {
console.log(res)
if (res.status === ERR_OK) {
this.recommends =res.data.data
}
})
}
},
components: {
Slider,
Scroll
}
}
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
this.recommends中的this已经不是vue实例了。
在created里面 this.这个方法以及数据是未定义的 你可以在数据加载完成钩子函数里使用 不然它是未定义的
把then里面的函数写成闭包形式 () => {},this就还是原来的vue实例。
this的指向问题。
解决方案,使用箭头函数
this指向问题,一楼回答很标准了。