javascript - vue使用axios获取数据页面刷新时出错
天蓬老师
天蓬老师 2017-04-11 12:33:05
[JavaScript讨论组]

用了vuex,在action里定义了一个发请求并把数据放在state里方法

actions: {  
    GET_LIST_DATA: ({state },url) => {
      axios.get(url)
      .then(function (response) {
        state.good=response.data.data
        console.log(state.good)

      })
      .catch(function (error) {
        console.log(error);
      });
    }
    
  },

在一个组件的mounted里调用这个action之后获取state

mounted() {
    this.$store.dispatch('GET_LIST_DATA','https://cnodejs.org/api/v1/topics')
      .then(() => {
        this.dataList = this.$store.state.good   
        console.log(this.$store.state.good)
        
      })
  },

页面第一次打开时,执行顺序为请求成功后打印这个state,刷新页面时,请求依然成功了,但state就变成undefined了,不知道是不是请求还没成功就打印了。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
PHPz

箭头函数的this指向问题,换成function就好了,或者用闭包把this保存到变量传入箭头函数里

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号