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

Vue3最佳实践 第六章 Pinia,Vuex与axios,VueUse 1(Pinia) 在 Vue3 中项目中组件之间传递数据时,可以使用 Props 和 Emit,还可以使用 Provide/Inject 来代替 Props 和 Emit。Props 和 Emit 只能在具有父子关系的组件之间传递数据,所以层级越深,过程就越复杂。为了解决此类问题需要一种在所有组件之间共享数据的机制(State Management)。在原来的Vue世界中Vuex 以全局状态管理库着称,但是现在出现了一个新的存储库 Pinia,现在所有Vue3创建的新项目都建议使用 Pinia。 阅读详情

具体描述

  • 在项目中遇到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)
                    })
                  }
            }
vue使用axios异步请求后端数据的使用 Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新维护 vue-resource,并推荐axios, 目前主流的 Vue 项目,都选择 axios 来完成 ajax 请求。 使用方法: 1.安装 npm install axios --save-dev 2.使用: main.js中: 阅读详情

相关推荐

VUE #2 axios + vuex 处理网络请求

本篇分为以下几步一、定义请求实例(request.js)二、封装 API 请求(login.js)三、定义 Vuex 模块 (user.js)四、封装 Vuex 模块(index.js )五、页面调用 Vuex六、效果 项目主要项目结构: src ├── main.js ├── api │ └── login.js # 后台请求 ├── utils │ └── request.js # 请求实例定义 ├── views # 页面 │ └── Home.vue └── store ├──

FSYML 878

vuex的store中 通过axios进行请求操作获取数据

描述: 在项目中遇到vuex的store中直接使用this.$axios或者Vue.axios无法正确进行axios进行请求操作获取数据的 原因 在平时组件中能使用this.axios(通过Vue.prototype.axios(通过Vue.prototype.axios = axios的方式添加了原型链方法)的方式使用axios请求是因为其挂载到了vue的实例中,因而this的指向是Vue 而v...

hongyanwang 7293

深度学习&故障诊断初学者 - 学习路线

针对初学者,一头雾水,不知如何学习,本文给出了一个学习路线 Python学习 - 打好编程基础 https://www.bilibili.com/video/BV1vA411b7Rn?spm_id_from=333.337.search-card.all.click B站免费课程 学到P49 建议时长 2周 深度学习理论 - 浅浅理解神经网络 https://www.bilibili.com/video/BV1FT4y1E74V?p=41 建议时长 2周...............

m0_47410750的博客 6万+

在vuex里调接口

 在vuex里的store.js里写 const actions = { getWorkCount(content){ Axios.post("PlanTask/GetPlanTaskNum.do", {}).then(res => { content.state.fiaworkfiow=res.data.data.fiaworkfiow, }); ...

qq_41078029的博客 2933

VSCode玩转Arduino:手把手解决‘未定义Serial’和头文件找不到的坑

本文详细介绍了在VSCode中配置Arduino开发环境时遇到的‘未定义Serial’和头文件找不到问题的解决方案。通过修改c_cpp_properties.json文件、调整IntelliSense引擎设置以及添加正确的库路径,开发者可以高效解决这些常见错误,提升开发体验。文章还提供了针对不同开发板和平台的高级配置技巧,确保配置的长期有效性。

weixin_42620202的博客 359

Android 默认授予所有应用权限以及特殊权限处理

PackageManagerService作为android的主要系统服务之一,包含处理应用权限相关的职责。源码地址如下:在PMS成功启动时并收到回掉systemReady回进行应用权限授予。DefaultPermissionGrantPolicy为权限处理策略管理类。这里并没有赋予所有系统应用权限,所以当进行应用时还是会显示权限检查的弹框。可通过此方法进行所有应用权限赋予:如果不想所有应用都授予权限,可考虑在system/etc下的权限相关xml文件添加应用包名和所需权限。

Jimmy的专栏 1510

vue 中请求接口的两种方法

vue 项目安装axios: cnpm install axios --save import axios from 'axios' 哪个文件需要用到就在哪个文件中引入 安装qs: npm install --save axios vue-axios qs import qs from 'qs' qs 用来解决vue中post请求以 a=a&b=b 的格式 ma...

猿飞梦的博客 3万+

Python:同花顺全数据接口

# -*- coding: utf-8 -*- from iFinDPy import * from datetime import datetime import pandas as pd import time as _time import json from threading import Thread,Lock,Semaphore import requests sem = Semaphore(5) # 此变量用于控制最大并发数 dllock = Lock() #此变量用来控制实时行情推

代码过客 4万+

Vuex解读及解决store中刷新后导致没有数据的问题

Vuex是一个专门为vue.js应用程序开发的状态管理模式,可以理解为共享的data,它一共有五种默认的状态: state:存储状态(变量) getters:对数据获取之前的再次编译,可以理解为state的计算属性。我们在组件中使用 $sotre.getters.fun() mutations:修改状态,并且是同步的。在组件中使用$store.commit('',params)。这个和我们组...

Anna_lhy的博客 3430

轻量级NAS的隐秘战场:比特米盒CumeBox2与CasaOS的生态融合实践

本文探讨了比特米盒CumeBox2轻量级NAS设备与CasaOS操作系统的生态融合实践。通过硬件选型、系统部署、性能优化和应用场景分析,展示了如何将CumeBox2与CasaOS深度整合,打造经济实用的家庭数据管理中心,特别适合入门级用户和小型办公环境。

rl6adventurer的博客 895

【Prometheus】prometheus结合cAdvisor监控docker容器运行状态,并且实现实时告警通知

Docker的监控,可以使用Docker自带的stats命令来获取当前主机上运行中的容器的资源使用情况。 例如:容器的CPU使用率、内存占用、网络IO以及磁盘IO等指标。

景天科技苑 6万+

vuex 和ajax,Vue.js/vuex ajax更新组件与阿贾克斯状态

我使用vue与vuex vue的webpack模板,我基本上与组件状态不更新的问题。Vue.js/vuex ajax更新组件与阿贾克斯状态我有一个商店const state = {userData: {},}在我的应用我有一个方法methods: {addUserData: function() {const that = this;axios.get('URL').then(function (...

weixin_39880328的博客 476

NVIDIA Omniverse 技术浅析(三):NVIDIA RTX 技术

NVIDIA RTX 技术是 NVIDIA 推出的革命性图形渲染技术,旨在通过硬件加速和软件优化,实现高质量的实时图形渲染。RTX 技术在 NVIDIA Omniverse 平台中扮演着至关重要的角色,为其提供了强大的渲染能力。

m0_75253143的博客 351

vue vuex中store内2种异步请求数据方法

效果图如下: store.js代码如下: import Vue from 'vue' import Vuex from 'vuex' import axios from 'axios' Vue.use(Vuex) export default new Vuex.Store({ //状态数据 state: { list:['默认为空'] }, //getters可以认为是store的计...

舜岳的博客 1万+

企业级大模型落地:私有化部署的安全合规全流程实战指南

摘要:本文针对企业在大模型私有化部署中面临的数据泄露、合规风险及系统稳定性难题,提出一套覆盖数据安全、模型合规、审计追踪与灾备方案的全流程解决方案。通过双加密管道(国密SM4传输加密+AES-GCM存储加密)、SGX可信执行环境等技术,实现数据全生命周期保护;结合等保2.0三级要求与《生成式AI服务管理暂行办法》,提供合规性实施细则;并给出本地GPU集群、混合云、边缘推理盒子三种企业级部署方案及成本模型。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 921

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Vuex中发送mock请求返回数据

vuex像是一个仓库,可以将需要传递的数据放进去,使用的时候再取出来。

weixin_44348028的博客 5690

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

在vuex中axios带多个参数发送post请求到php

首先在vue界面把axios对象传到vuex中: data是一组新数据,this.cartdata是购物车已经存在的数据,this.$ajax是axios对象 新数据格式: 使用commit转发到vuex中 在store.js中引入qs,一般都是安装axios自己就有 import Vue from 'vue' import Vuex from 'vuex' import qs from 'q...

fuguoda的博客 5444

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

在VueX中使用axios

在学习某课网模仿美团的视频中,在安装时nuxt会出现无法安装@/nuxt/axios的情况,而在vuex中无法直接调用axios,因为this无法指向vue,所以我找了几种比较好的方法来解决这个问题,因为这些文章大概内容都差不多,我只是总结了一个自己觉得比较好的办法 //在main.js中引入vuex的入口文件 import store from ‘./store/index.js’; new V...

Sakura_Codeboy的博客 2579

vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据

vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据 在vue项目中组件间相互传值或者后台获取的数据需要供多个组件使用的情况很多的话,有必要考虑引入vuex来管理这些凌乱的状态,今天这边博文用来记录这一整个的过程,后台api接口是使用webpack-server模拟的接口,这个前面的文章中有提到,需要的可以去翻阅。 整个...

agg7911的博客 1247

vue中用vuex来管理axios获取到的数据

目前主流的 Vue 项目,都选择 axios 来完成 ajax 请求,而大型项目都会使用 vuex 来管理数据,今天就带大家一起来学习一下 如何在 vuex 中利用 axios 请求数据 安装vuex 和 axios ,这里的安装我就不再赘述 开始 1、Vuex的仓库时 store.js ,我们需要把 axios 引入,并在 action 添加新的方法 如图,我们在 store/index.js...

junkaicool的博客 4275

vuex+axios——将get到的数据存到store中

Home.vue: router_submit () { this.$store.dispatch('getResult') this.$router.push({ path: '/Questions' }) } store.js: import Vue from 'vue' import Vuex from 'vuex' import axios from 'axios...

仅做个人笔记 4184

vue后台管理:增加vuex状态管理和封装axios请求

引入vuex状态管理 这里主要是参考了vue-element-admin的项目。先 先创建store的文件夹,创建index.js主文件: import Vue from 'vue' import Vuex from 'vuex' import getters from './getters' import user from './modules/user' Vue.use(Vuex) const store = new Vuex.Store({ modules: { user },

stonezry的专栏 2099

vuex异步获取数据_用vuex和axios请求异步数据渲染出问题

课我没上完,但是目前遇到个棘手的问题,希望老师看到能帮我解答一下。我用了vuex和axios做数据请求。下面上代码了store.js中conststate={banner:[]}constmutations={GETBANNER(state,res){state.banner=res;console.log(res)}}constactions={getBanner({...

weixin_42382558的博客 366

vuex中发起axios请求

一引入vuex cnpm install vuex 新建store/store.js和store/teacher.js 二 teacher.js如下: import axios from 'axios' const Teacher ={ state:{ noticeList:[], }, mutations:{ getNoticeList...

zisuu的博客 356

前端写接口 请求后台数据 存vuex中 打印到控制台

前端写接口请求后台数据,ajax axios vuex 数据处理,数据渲染。

ccq的博客 4577

react 把前后台的axios请求放在一起_如何在项目里管理好axios请求与vuex

在上一篇利用vue-cli + vant搭建一个移动端开发模板的小文章中,我们简易的搭建了一个使适用于h5开发的模板,很多细节的地方都是一带而过。所以这边短文会以图文的形式,为大家展示vue项目开发过程中,从请求接口到页面获取数据,这一系列的流程中(请求接口、axios拦截、状态管理、异常处理等)具体做了些什么。源码地址 (master分支为最新代码,本文分支为2020/06/17)前言并不是所有...

weixin_39777018的博客 178
上一篇: VSCode的vetur插件提示 Vue中的v-for有[vue-language-server]错误
下一篇: 在vue中的js部分导入图片后通过webpack无法被正确打包的问题
RotatingBlock
博客等级 码龄10年 16粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值