vue根据url获取内容axios_vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据...

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

整个的流程是在组件的created中提交dispatch,然后通过action调用一个封装好的axios然后再触发mutation来提交状态改变state中的数据,然后在组件的计算属性中获取state的数据并渲染在页面上

首先新需要在项目中安装vuex:

运行命令 npm install vuex --save-dev

在项目的入口js文件main.js中

import store from './store/index'

并将store挂载到vue上newVue({

el:'#app',

router,

store,

template:'',

render: (createElement)=>createElement(App)

})

然后看下整个store的目录结构,modules文件夹用来将不同功能也面的状态分成模块,index.js文件夹是store的入口文件,types文件夹是定义常量mutation的文件夹

整个vuex的目录结构如下:

这里我新建了文件夹fetch用来编写所有的axios处理和axios封装

在fetch文件夹下新建api.js文件:import axiosfrom'axios'export function fetch(url,params) {returnnewPromise((resolve, reject) =>{

axios.post(url,params)

.then(response=>{

alert('Api--ok');

resolve(response.data);

})

.catch((error) =>{

console.log(error)

reject(error)

})

})

}

exportdefault{//获取我的页面的后台数据mineBaseMsgApi() {

alert('进入api.js')returnfetch('/api/getBoardList');

}

}

在store的入口文件index.js中:import Vuefrom'vue'import Vuexfrom'vuex'import minefrom'./modules/mine';

Vue.use(Vuex);

exportdefaultnewVuex.Store({

modules: {

mine

}

});

在你需要请求后台数据并想使用vuex的组件中的created分发第一个dispatch:

created() {this.$store.dispatch('getMineBaseApi');

}

然后在store/modules下的对应模块js文件中,这里我使用的mine.js文件中编写state、action和mutationimport apifrom'./../../fetch/api';

import*astypesfrom'./../types.js';conststate ={

getMineBaseMsg: {

errno:1,

msg: {}

}

}constactions ={

getMineBaseApi({commit}) {

alert('进入action');

api.mineBaseMsgApi()

.then(res=>{

alert('action中调用封装后的axios成功');

console.log('action中调用封装后的axios成功')

commit(types.GET_BASE_API, res)

})

}

}constgetters ={

getMineBaseMsg: state=>state.getMineBaseMsg

}constmutations ={

[types.GET_BASE_API](state, res) {

alert('进入mutation');

state.getMineBaseMsg={ ...state.getMineBaseMsg, msg: res.data.msg }

alert('进入mutations修改state成功');

}

}

exportdefault{

state,

actions,

getters,

mutations

}

然后在想取回state的组件中使用mapGetters获取state:import { mapGetters }from'vuex';

exportdefault{

...

computed: {

...mapGetters(['getMineBaseMsg'])

},

...

然后在控制台查看把:

getter和mutation都已经成功了,同时我在提交state的整个过程都添加了alert,大家可以看看整个流程是如何走的;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微型计算机实验代码,微型计算机原理实验1-数据传送

《微型计算机原理实验1-数据传送》由会员分享,可在线阅读,更多相关《微型计算机原理实验1-数据传送(14页珍藏版)》请在人人文库网上搜索。1、实验一数据传送一、实验目的1.熟悉8086指令系统的数据传送指令及8086的寻址方式。2.利用Turbo Debugger调试工具…

机器人J中WPR_北方工业大学服务机器人研究项目介绍

原标题:北方工业大学服务机器人研究项目介绍指导老师:王月海、杨扬团队成员:李雄 16级研究生 电子与通信工程专业郭迎达 15级研究生 电子与通信工程专业朱建林 15级研究生 计算机技术专业宋威 16级研究生 电子与通信工程专业孙逊之 15级研究生…

风洞试验计算机控制模块,计算机控制风洞

C15计算机控制的亚音速风洞Armfield C15是一款新型的由计算机控制的亚音速台式风洞,它用于高校教学。小型台式风洞,带有可视工作段。备有大量附件和测量仪器,可对亚音速空气动力学进行综合研究。该设备适合大学生演练和设计工作。分类说明? …

云原生的本质_云原生是什么 云原生技术有何作用

花火网消息,随着科技的发展,催生出以云原生为代表的下一代架构,云原生以容器、Kubernetes、Serverless等为代表的新技术引领移动互联网进入急速赛道。但是很多小伙伴们可能对云原生没有什么概念,今天小编就来为大家介绍一下云原生…

通过服务器给多台计算机装系统,怎么快速给机房多台电脑安装系统?

Ghost局域网克隆备份操作方法 Ghost局域网克隆备份操作方法 LPT 是通过并口传送备份文件,下面有两个选项:slave 和 master, 分别用以连接主机和客户机。 网络基本输入输出系统 NetBios 和 LPT 相似, 也有 slave 和 master 两个选项, 作用与 LPT 相同。 先和平时一样…

为什么不敢和别人竞争_内心很脆弱,不敢和人竞争。该怎么办?

心理咨询师02月26日 11:56你好,我是壹点灵的心理咨询师李海霞。1.看到您的描述,您的困惑来自于几个方面,您觉得自己很脆弱,内心不够强大,容易悲伤,崩溃与社交恐惧症和敏感,而这些看似复杂的症状…

江恩 计算机,江恩理论基础篇

前言-废话我发这个贴的目的,不是教大家江恩理论,而仅仅是帮助探索者打通卡住的瓶颈,最重要的还是得靠自己。想想自己当初也是投师无门歪打乱撞进了MACD论坛江恩板块。所以还是得知恩图报。这几年没去工作,每天5-20小时全部砸在了江…

流量计算机标准,流量计算机

基于模块化软/硬件设计的高性价比解决方案全彩色图形触摸屏提供了最大过程透明度操作人员容易访问,实现高效维护自动性能监测系统可延长重新标定间隔SUMMIT8800是用于贸易交接计量的数字流量计算机(流量积算仪)。其先进的全彩色图形触摸屏可实时以图形方式显示测量过…

scrum回顾_3步开好回顾会 | IDCF FDCC认证学员作品

了解敏捷的人应该对回顾会不陌生,回顾会是在SCRUM框架五个活动中的最后一个活动,但是在敏捷的实际应用中,回顾会并不只是会在应用SCRUM的团队中使用,在其他敏捷实践中也会引入回顾会作为反馈环节。那么什么是回顾会呢?…

化验室计算机管理制度,实验室试剂管理制度

实验室试剂管理制度1、 目的确保化验结果的准确与化验室安全。2、 适用范围适用于***化验室对各种试剂药品的管理。3、 试剂管理与溶液配制管理规定3.1化学药品贮存3.1.1 较大量的化学药品放置于药品贮存室中,分类放置。3.1.2 贮存室避免阳光直接照射,以…

centos php 开启libgdgd_CentOS6.6下yum安装PHP的gd库失败?-问答-阿里云开发者社区-阿里云...

CentOS6.6下yum安装PHP默认版本5.3的,为了安装高一点的PHP版本,使用自定义的yum源:remi源,启用remi-php56,安装php-gd扩展的时候报错:Error: Package: php-gd-5.6.11-1.el6.remi.x86_64 (remi-php56) Requi…

高性能计算机 和服务器,一种高性能计算机服务器

主权项:1.一种高性能计算机服务器,包括滚轮(1)、服务器主体(2)、背部散热装置(3)、进风风扇(4)、出风风扇(5)、防尘网(6)、中间散热装置(7)和连通管(8),其特征在于:所述的背部散热装置(3)包括安装板(3-1)、进水嘴(3-2)、循环散热管…

linux增量安装tomcat_linux与windows下tomcat的java内存设置

Linux下修改JVM内存大小:要添加在tomcat 的bin 下catalina.sh文件中,找到cygwinfalse,在这一行的前面加入参数,具体如下# vi TOMCAT_HOME/bin/catalina.sh(默认文件内容)export JAVA_OPTS"-server -Xms800m -Xmx800m -XX:PermSize256m -…

tgp饥荒服务器mod文件在哪,饥荒联机版中客户端mod文件夹在哪?注意不是服务器mod!...

饥荒联机版mod使用方法的教程,很详细,一目了然。希望对大家有所帮助。使用mod方法【第1步】首先打开饥荒的游戏目录,里面有一个mods文件夹饥荒的游戏目录不知道怎么找的就不要用mod了。【第2步】将模组直接复制粘贴到mods文件夹里。【不要用中…

维沃丫3手机微信无法连接服务器1.104,手机微信网络连接不可用?教你4个方法,轻松解决网络问题!...

原标题:手机微信网络连接不可用?教你4个方法,轻松解决网络问题!微信,可以说是我们日常生活中离不开的一个通讯软件,无论是工作还是生活!而最近有位朋友使用手机微信的时候,明明网络信号十分好,…

金叉成功率_技巧!三分钟教会你识别macd真假金叉,让你精准把握买卖点!

如果看见MACD发生金叉就买,死叉就卖的话,或许早被市场消灭了。 机械的运用金叉/死叉信号来买卖还不如用投硬币来决定买卖会更省力些,而效果也不会差很多,只有在符合一定规则之下采用MACD发出的金叉/死叉信号,才可以大大提高信号的成功率。就像…

css规则可以放在云上,CSS中!important规则的使用方法

CSS中!important规则的使用方法发布时间:2020-06-15 10:53:11来源:亿速云阅读:129作者:Leah这期内容当中小编将会给大家带来有关CSS中!important规则的使用方法,以专业的角度为大家分析和叙述,阅读完这篇文…

r语言没有forecast这个函数_R语言入门:预测新的值

一、问题根据所得到的回归模型预测新的值。二、解决方案将要用于预测的数据保存到数据框中。用predict函数,将newdata参数设为这个数据框:> m > preds > predict(m, newdatapreds)三、讨论有了线性模型,就可以很方便地做预测&#x…

ajax改变div内容,jquery ajax双击div可直接修改div中的内容

最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值,而要重新进入编辑页比较麻烦,于是网上找点资料自己动手写了一个jquery双击实现直接修改排序值的效果:html代码:{$sort}JS代码&…

ads s参数拟合_ADS S参数仿真介绍

1.S参数的概念在低频电路中,元器件的尺寸相对于信号的波长而言可以忽略(通常小于波长的1/10),这种情况下的电路被称为节点(Lump)电路,此时可以采用常规的电压、电流定律来进行电路计算。但是在高频/微波电路中,由于波长…