vue2.0 axios 获取数据报错

发布于 2022-09-06 04:19:19 字数 1584 浏览 9 评论 0

数据无法加载,报错怎么解决?求大神解答

<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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

我不是你的备胎 2022-09-13 04:19:19

this.recommends中的this已经不是vue实例了。

getRecommend(){
    let _self = this;
    
    ...
    ...
    ...
    
    _self.recommends = res.data.data
}
魂牵梦绕锁你心扉 2022-09-13 04:19:19

在created里面 this.这个方法以及数据是未定义的 你可以在数据加载完成钩子函数里使用 不然它是未定义的

陈年往事 2022-09-13 04:19:19

把then里面的函数写成闭包形式 () => {},this就还是原来的vue实例。

空城之時有危險 2022-09-13 04:19:19

this的指向问题。

if (res.status === ERR_OK) {
    console.log(this)  // 查看控制台看看this是什么
  this.recommends =res.data.data
}

解决方案,使用箭头函数

 axios.post(url, qs.stringify({
  token: token
})).then((res) => {
  console.log(res)
  if (res.status === ERR_OK) {
      this.recommends = res.data.data
  }
})
东风软 2022-09-13 04:19:19

this指向问题,一楼回答很标准了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文