当前位置: 首页 > news >正文

VueX 模块化和namespace

当我们的项目很大的时候,VueX中的代码会越来越多,会有处理数据的,处理人员列表的,处理订单的...

如果我们将这些东西都写在一个state、actions和mutations中的话,就非常不方便后期的维护。

所以我们引入了VueX的模块化的概念,每一个模块存储对应操作的数据和方法,方便后期的维护。

一、创建模块化

我们将不同功能区间组成不同的模块,每一个模块中都有与之对应的state, getters, actions, mutations。

{

        namespace:true,

        actions:{},

        mutations:{},

        state:{},

        getters:{}

}

我们也可以将一个模块放在一个js文件中进行暴露,然后在index.js中引入

二、注册模块

export default new VueX.Store({

        modules:{ 模块1, 模块2 }

})

三、读取模块中的数据

(一)读取state中的数据

1. 直接读取

this.$store.模块名.数据名

 

2. mapState读取

...mapState("模块名", ["数据1", "数据2"])

 

(二)读取getters中的数据

1. 直接读取

this.$store.getters["模组名 / 数据名"];

2. mapGetters读取

...mapGetters("模块名", ["数据1", "数据2"])

 

(三)调用dispatch

1. 直接读取

this.$store.dispatch("模块名 / 方法名", value)

2. mapActions读取

...mapActions("模块名",  {新方法名1 : "方法名1",  新方法名2 : "方法名2"})

 

(四)调用commit

使用方法和调用dispatch一致

1. 直接读取

this.$store.commit("模块名 / 方法名", value)

2. mapMutations读取 

...mapMutations("模块名",  {新方法名1 : "方法名1",  新方法名2 : "方法名2"})

http://www.lryc.cn/news/218257.html

相关文章:

  • 7-4 修理牧场 分数 15
  • 自定义element-ui plus 函数式调用,在API,js中直接使用全局组件
  • [LeetCode]-876.链表的中间结点-206.反转链表-21.合并两个有序链表-203.移除链表元素
  • 通过git多人协调开发
  • CentOS 7 通过 yum 安装 MariaDB(Mysql)
  • 【Solidity】Remix在线环境及钱包申请
  • ARFoundation系列讲解 - 92 涂鸦效果
  • 立创eda专业版学习笔记(8)(运行模式)
  • 349.两个数组的交集+350.两个数组的交集II(set/multiset)
  • 数据结构与算法之排序: 桶排序 (Javascript版)
  • Android studio新版本多渠道打包配置
  • PTA:后序和中序构造二叉树
  • 二十三种设计模式全面解析-适配器模式的妙用:异构数据库和不同版本API的完美兼容!
  • K7系列FPGA进行FLASH读写1——CCLK控制(STARTUPE2原语)
  • 【Kafka】基本概念
  • 如何在Vue3项目中使用防抖节流技巧
  • 快速排序(Java)
  • 在ffmpeg中,如何把h264转换为rgb格式
  • 【重磅】Cookies、headers、Session规律总结,搞定卡点
  • 【雷达原理】雷达杂波抑制方法
  • Python-敲木鱼升级版(真手动版敲木鱼)
  • Websocket @ServerEndpoint不能注入@Autowired
  • Unity热更新
  • 如何用维格云搭建和一键训练你的钧瓷AI机器人?
  • 整理的一些Java细节问题
  • 初识AUTOSAR网络管理
  • Flink SQL Hive Connector使用场景
  • 【Docker】联合探讨Docker:容器化技术的革命性应用
  • dirhunt使用手册,中文版
  • 【从0到1设计一个网关】如何设计一个稳定的网关?