时间:2021-05-26
在vue2项目中,组件间相互传值或者后台获取的数据需要供多个组件使用的情况很多的情况下(后台获取数据存入vuex,组件之间共享数据),那么就需要用vuex来管理这些。
整个的流程是在组件的created中提交dispatch,然后通过action调用一个封装好的axios,然后再触发mutation来提交状态改变state中的数据,然后在组件的计算属性中获取state的数据并渲染在页面上
首先新需要在项目中安装vuex:
运行命令:npm install vuex --save-dev
在项目的入口js文件main.js中:import store from './store/index'
并将store挂载到vue上:
然后看下整个store的目录结构,modules文件夹用来将不同功能也面的状态分成模块,index.js文件夹是store的入口文件,types文件夹是定义常量mutation的。文件夹整个vuex的目录结构如下:
这里我新建了文件夹fetch用来编写所有的axios处理(这里是把axios封装了)并且在fetch文件夹下新建api.js文件:
这里的getContextPathSrc函数,在页面中可直接使用,如果在函数中使用,需要this.getContextPathSrc
2:最后在store中写getters函数:
最后在页面渲染就可以了。。这样就完成了交互。可能有人会留意到上面的getters里的movieID函数有个if判断,最后
有人会好奇为啥用localStorage……这个我们也不想用,只是如果你的页面如果用户强制刷新一下的话,会有个很奇怪的事发生,就是数据全部取不到,后来是没办法才加的。
最后,希望这些讲解,对于初学者来说有帮助……别被vuex的官网整的云里雾里(ps:我初学时也云里雾里整不明白偷笑)。好了,下班啦,更多的内容,会慢慢跟大家分享。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言最近用Vue写项目的时候,用到axios,因为axios不能用Vue.use()(详细介绍可以参考这篇文章),所以在每个.vue文件中使用axios时就需要
目前主流的Vue项目,都选择axios来完成ajax请求,而大型项目都会使用Vuex来管理数据。前言:使用cnpm安装axioscnpminstallaxios
第一步、cdn引入各种包index.html中cdn的方式引入vue、vuex、axios、element-ui、vue-router等包,如下图:第二步、在使
本文介绍了webpack+vuex+axios跨域请求数据的示例代码,分享给大家,具体如下:使用vue-li构建webpack项目,修改bulid/config
其实像这类的文章网上已经有很多很好的,写这篇文章,相当于是做个笔记,以防以后忘记用到的:1、vuex2、axios3、vue-route登陆流程为:1、提交登陆