在vuex的store中如何正确的通过axios进行请求操作获取数据

4 篇文章 0 订阅
3 篇文章 0 订阅

具体描述

  • 在项目中遇到vuex的store中直接使用this.$axios或者Vue.axios无法正确进行axios进行请求操作获取数据的

原因

  • 在平时组件中能使用this. axios(Vue.prototype. axios = axios的方式添加了原型链方法)的方式使用axios请求是因为其挂载到了vue的实例中,因而this的指向是Vue
  • 而vuex中this的指向是store,因此不能直接使用

解决方法

  • 直接引入axios而后通过其请求即可
            // 数据仓库中:src/store/modules/xxx.js
            // 引入axios
            import axios from 'axios'

            // ...
            actions: {
                fetchOrderList ({commit, state}) {
                    // 而vuex中this的指向是store,因此不能使用
                    // 直接引入axios请求即可
                    axios.post('请求地址').then((res) => {
                      commit('updataOrderList', res.data.getOrderList.list)
                    }).catch((err) => {
                      console.log(err)
                    })
                  }
            }
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值