vuex module总结

// 创建store文件夹 然后在store文件夹下创建对应的js文件
//  在该js文件中引入对应的依赖文件
import Vue from 'vue'
import Vuex from 'vuex'
import moduleA from 'moduleA所在的文件的地址'
import moduleB from 'moduleB所在的文件的地址'
Vue.use(Vuex)
const store = new Vuex.Store({state: {},getters: {},mutations: {},actions: {},modules: {moduleA}
})
export default store
// 在main.js中引入store
import store from '对应的主js文件地址'
new Vue({store
})
// 创建模块a的文件 例如该项目中的moduleA.js
const moduleA = {state: {data1: {}},getters: {getData(state, getters, rootState, rootGetters) {// state 本模块的state// getters 本模块的getters// rootState 所有模块的数据集合// rootGetters 所有模块的getters的集合}},mutations: {mutationFun(state, data) {// state 本模块的state// data 调用函数时传递的参数}},actions: {actionFun({dispatch, commit, getters, state, rootGetters, rootState}) {// actions中的函数有一个默认参数 context 这个函数可以进行解构// context: {dispatch: function() , commit:function(), getters: function(), state: state, rootGetters: function(), rootState}// dispatch调用actions函数的方法// commit 提交mutations函数的方法// getters 是本模块的getter函数// state 本模块的state数据// rootGetters 所有模块的getters属性集合// rootState 所有模块的数据集合}}
}
// 创建模块b的文件 例如 该项目中的 moduleB.js
const moduleB = {state: {data2: {}},getters: {getData2() {}},mutations: {},actions: {}
}

用法

  • 在对应的vue文件中
    <template><div>{{moduleA.data1}}{{moduleB.data2}}{{getData}}</div></template><script>import {mapState, mapGetters, mapMutations, mapActions} from 'vuex'export default {name: '',data() {return {}},computed: {...mapState(['moduleA','moduleB']),// 模块之间的getters方法名称不能同名...mapGetters(['getData','getData2'])},created() {// this.$store.commit('函数名', '要传递的参数') 这两种形式的调用和传参的方式叫做载荷// this.$store.dispatch('函数名', '要传递的参数')this.mutationFun('可以传递参数')this.actionFun('可以传递参数')},methods: {...mapMutations(['mutationFun']),...mapActions(['actionFun'])}}</script><style scoped></style>

vuex module总结相关推荐

  1. vuex 中出现[vuex] module namespace not found in mapActions(): money找不到的报错

    使用辅助函数解释小仓库模块的state. vuex 中出现[vuex] module namespace not found in mapActions(): money找不到的报错 要在小仓库模块中 ...

  2. Vuex之module

    由于使用单一状态树,应用的所有状态会集中到一个比较大的对象.当应用变得非常复杂时,store 对象就有可能变得相当臃肿. 为了解决以上问题,Vuex 允许我们将 store 分割成模块(module) ...

  3. VUEX源码学习笔记(第5~6章 共6章)

    第五章 辅助函数 在第一章我们曾经说过: VUEX采用的是典型的IIFE(立即执行函数表达式)模式,当代码被加载(通过<script>或Vue.use())后,VUEX会返回一个对象,这个 ...

  4. 学习 vuex 源码整体架构,打造属于自己的状态管理库

    前言 这是学习源码整体架构第五篇.整体架构这词语好像有点大,姑且就算是源码整体结构吧,主要就是学习是代码整体结构,不深究其他不是主线的具体函数的实现.本篇文章学习的是实际仓库的代码. 其余四篇分别是: ...

  5. Vuex源码阅读分析

    Vuex源码阅读分析 Vuex是专为Vue开发的统一状态管理工具.当我们的项目不是很复杂时,一些交互可以通过全局事件总线解决,但是这种观察者模式有些弊端,开发时可能没什么感觉,但是当项目变得复杂,维护 ...

  6. 使用vuejs 2.x (不是nuxt) 做个demo: 使用 vuex, router ( store, action , mutation)

    使用命令创建项目 根据图片提示选择需要的内容,选择vuex router 按空格进行多选 vue create vuex1 cd vuex1 yarn serve 假设,我们有两个页面: " ...

  7. 将Feathers客户集成到Vuex

    羽毛-vuex (feathers-vuex) feathers-vuex is a first class integration of the Feathers Client and Vuex. ...

  8. vuex 源码整体架构学习

    前言 这是学习源码整体架构第五篇.整体架构这词语好像有点大,姑且就算是源码整体结构吧,主要就是学习是代码整体结构,不深究其他不是主线的具体函数的实现.本篇文章学习的是实际仓库的代码. 其余四篇分别是: ...

  9. vue技术点(3)—vuex、插槽、自定义指令、vue动画、keep-alive使用、mixin

    目录 1,vuex 1.1,vuex介绍 1.2,vuex的各个模块 1.3,Vuex实例应用 2,组件插槽 2.1,具名插槽 2.2,插槽作用域 3,自定义指令 4,vue动画 4.1,vue过渡动 ...

最新文章

  1. 某互联网大厂出现招聘事故!HR告知应聘者肯定会发offer,应聘者拒绝另一家公司耐心等待,hr却说流程有变,offer被卡!...
  2. 一口气看完 45 个寄存器,CPU 核心技术大揭秘
  3. pythonturtle画房子_用python的turtle模块实现给女票画个小心心
  4. android: SharedPreferences存储
  5. 安卓高手之路之ClassLoader(三)
  6. windows2003时间同步更新脚本
  7. AbstractBeanFactory 的getBean()方法调用FactoryBean
  8. superMap添加marker及连线
  9. c# gdi设置画刷透明
  10. eBay:PayPal今年移动支付总额将超35亿美元
  11. Linux 环境变量启动过程/配置文件的读取过程
  12. D3 Selections
  13. 与IDE相关的Attribute属性(C#)
  14. 安卓干货——安卓NFC通信
  15. 【PCL】—欧式聚类算法详解
  16. android打开apk文件怎么打开,APK是什么文件 APK文件怎么打开?
  17. 皮卡丘python turtle海龟绘图(电力球版)附源代码
  18. 1484: 青蛙(四)
  19. 大神见地:Jeff Dean展望AI的5大趋势!
  20. 值的比较(大于 等于 小于 不等于)

热门文章

  1. 技术分享 | 如何让无人机实现室内自主搜寻?
  2. 来自互联网的悲哀:不是你选择加班,而是 KPI 驯化你
  3. 连载32:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)
  4. Java 攻城狮面试题 03_ Nginx 反向代理服务器
  5. ROW_NUMBER 和OVER()分组
  6. 云洲智能在科创板恢复IPO审核,拟募集资金15.5亿元
  7. 同步任务和异步任务执行过程
  8. 软件设计师考试 | 计算机系统
  9. 用python写的一个简易的云音乐播放器
  10. setVisibility(View.INVISIBLE)、android.os.Process.killProcess和System.exit失效