当应用非常复杂的时候,store对象就会变得非常臃肿。
为了解决上面的问题,我们将store分成模块
文件目录如下
方案一:

方案二:

状态管理中 state 就相当于 vue中 data属性, getters就相当于vue中的computed属性, mutations,
actions就相当于vue中的方法

getter

gettetr被认为 是计算属性 返回值会作为依赖缓存起来 只有当依赖发生变化时才会重新计算

mutation

action

模块化

import Vue from "vue"
import Vuex from "vuex"
import footerStatus from './modules/footerStatus'
import collection from './modules/collection'Vue.use(Vuex)export default new Vuex.Store({modules: { // 这里声明两个模块,后面使用就知道为啥要这样搞了collection,footerStatus}
})

1.模块化以后,state的获取务必要加上一个模块名,才能获取到模块里面的对象

eg:  this.$store.state.moduleA.name

2.在辅助函数中我们同样需要这样做

 ...mapState({name:state => state.moduleA.name
})

3.命名空间
一旦去做了模块化处理,这样一定会产生命名冲突。
所以我们利用了namespace:true来避免命名冲突
当模块被注册之后
模块里面的state action mutation会自动根据 模块名自动调整命名

export default moduleA {namespace:true,state,action,mutation}

同样vuex的开发者考虑到,我们每次都要写模块名很麻烦,所以在辅助函数中给我们提供了一个参数位置来绑定命名空间

...mapstate('moduleA',{name:state=>state.name
})

const board = {//数据当前的状态state:{boardDataset:[]},
//get获取状态 类似于computedgetters:{getBoardDataset(state){return state.boardDataset}},
//同步更新状态actions:{changeBoardDataset(state , item){state.boardDataset.push(item)}},
//异步更新状态mutations:{asynChangeBoardDataset(context,item){context.commit('changeBoardDataset',item)}}
}//导出模块
export default board;

在需要的组件中我们通过辅助函数进行引用:

 ...mapState({boardDatasets:state=>state.board.boardDataset})

Vuex State模块化相关推荐

  1. 用Vue3.0+typescript写vuex的模块化拆分

    用Vue3.0+typescript写vuex的模块化拆分 最近自己学习了下vue3.0+ts,在vuex这一块遇到些问题记录一下 以下代码中的写法请参考官方vuex文档: https://next. ...

  2. 几分钟搞懂Vuex(State,Mutations,Actions)

    文章目录 State Getters Mutation Actions 这是Vuex官方给出的图片,看起来有点不好理解,上详解!!!! 开始介绍之前,我们需要将Vuex挂载到Vue实例上面,这样我们才 ...

  3. vuex清掉数据_解决vuex state数据刷新清空的几种方法

    vuex state刷新配置的数据会刷新 作为一个vue小白,刚接触到vue,很多技术都是慢慢摸索着前行的. 1.最近要做一个前端,菜单和导航都要在json中配置,看了一天vue官网,发现可以在vue ...

  4. java写mapstate算子,vuex state及mapState的基础用法详解

    vuex state及mapState的基础用法详解 2019-01-07 编程之家收集整理的这篇文章主要介绍了vuex state及mapState的基础用法详解,编程之家小编觉得挺不错的,现在分享 ...

  5. vuex 的模块化+命名空间

    一.目的:让代码更好维护,让多种数据分类更加明确 二.修改 store.js const person = {namespaced: true; // 开启命名空间state: {},getters: ...

  6. vue —— vuex namespaced模块化编码

    在需求过多的时候就会发生在actions mutations state getters 编写代码过多的情况会很混乱,可以把每个需求的代码进行分组 查看时便可根据不同的需求查看.不过在每个需求里还是要 ...

  7. vuex state使用

    访问vuex中的state值 方式1 <div>{{$store.state.count}}</div> 方式2 <template><div id=&quo ...

  8. vuex的模块化管理~~~狂徒李四

    路由模块化 创建问价路径如下: 路由模块化思路 /** * * 还是导入导出那一套,首先新建语义化的文件,在js文件中导出export default { //路径 } * 在main.js引入,将引 ...

  9. vue状态管理存取数据_vue状态管理vuex从浅入深详细讲解

    1.vuex简介以及创建一个简单的仓库 vuex是专门为vue框架而设计出的一个公共数据管理框架,任何组件都可以通过状态管理仓库数据沟通,也可以统一从仓库获取数据,在比较大型的应用中,数据交互庞大的情 ...

最新文章

  1. 楼主考南师计算机学硕,南京师范大学考研详解:据说这所学校不太好考?嗯,是真的!...
  2. 管理共享文件夹和使用FTP服务器
  3. [转] 三层开发中的层次划分
  4. 【问题】用ant编译时,提示编码utf为不可映射字符
  5. ICML 2021文章引发热议:矩阵乘法无需相乘,速度提升100倍
  6. ios 点击出现另外一套tabbar_IOS 点击tabbaritem跳转到一个新界面,且隐藏tabbar
  7. 页眉中字数未满但自动换行
  8. 从SQL中相对于日期的特定周获取数据
  9. 企业class类命名规范
  10. 【aRsenal-1】用R创建Word和PowerPoint文档
  11. 服务器2012能安装无线网卡,网件无线网卡在windows 2012支持问题
  12. NMEA的GPGGA数据包解析 字符转数字
  13. 万能装机大师专业版教程
  14. 【安卓】Android Studio 3.5的引用包错误
  15. 中国剩余定理 (孙子定理) 的证明和代码
  16. 学python如何不加班 杀手框架Pandas
  17. 美柚社区精选:贴心宝妈的八大育儿经验
  18. 基于Tushare数据库统计混合型基金前十大重仓股持仓变化
  19. SQL:求筛选时间段内每天各分组的聚合数据
  20. Light and Shadow

热门文章

  1. JavaScript预解析、作用域题目记录
  2. 《好未来编程题》n个数里最小的k个
  3. sklearn综合示例2:决策树
  4. 【转载】linux中误删除oracle数据文件的恢复操作
  5. ElasticSearch 知识点整理(深入)
  6. fastjson对json字符串JSONObject和JSONArray互相转换操作示例
  7. Akka并发编程——第六节:Actor模型(五)
  8. 解决OutOfMemoryError: unable to create new native thread问题
  9. Java 读写 hdfs文件或者目录
  10. 深入浅出学Hive:Hive参数