由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。

为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割。

新建一个js,moduleA:

const state = { moduleMsg: '这是模块a的数据'}export default { namespaced: true, state}

要特别注意的是namespaced: true,一定要加,使其成为带命名空间的模块。否则会报错:

[vuex] module namespace not found in mapState(): modulea

我们在store里面注入模块:

import modulea from './moduleA'

export default new Vuex.Store({ state, getters, actions, mutations, modules: { modulea }})

然后组件使用:

{{this.$store.state.modulea.moduleMsg}}

之前有提过,各个辅助函数都会接收一个参数,所以:

...mapState( 'modulea', ['moduleMsg'])

包括mapAction、mapMutation等都是一样的。

在对于很大的项目把vuex分模块是很有必要的,但是真的不应该盲目的去使用。

欢迎关注Coding个人笔记 公众号

转载于:https://juejin.im/post/5c54fe29e51d457fc75f7076

Vuex之module相关推荐

  1. VUEX封装module

    VUEX封装module 目录结构 store/index.js,配置,以及导入两种方式 import Vue from 'vue' import Vuex from 'vuex' import m ...

  2. vuex结合php,Vuex模块化(module)实例详解

    本文主要和大家介绍Vuex 模块化(module),小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助到大家. 一.为什么需要模块化 前面我们讲到的例子都在一个状态树里进行,当一个项目比较 ...

  3. Vue 教程第十七 篇—— Vuex 之 module

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

  4. [Vuex系列] - Module的用法(终篇)

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

  5. Vuex 2.0 源码分析

    作者:滴滴公共前端团队 - 黄轶 大家好,我叫黄轶,来自滴滴公共前端团队,我们团队最近写了一本书 --<Vue.js 权威指南>,内容丰富,由浅入深.不过有一些同学反馈说缺少 Vuex 的 ...

  6. vuex的计算属性_vuex 是什么? 有哪几种属性?

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式. 有 5 种,分别是 state.getter.mutation.action.module vuex 的 store 是什么? vue ...

  7. 层次和约束:项目中使用vuex的3条优化方案

    问题描述 使用vuex的store的过程中,发现了一些不是很优雅的地方: store层module太多,找state.getter.mutation.action对应的module比较慢. 组件里面m ...

  8. vuex 源码分析_Vuex框架原理与源码分析

    Vuex是一个专为Vue服务,用于管理页面数据状态.提供统一数据操作的生态系统.它集中于MVC模式中的Model层,规定所有的数据操作必须通过 action - mutation - state ch ...

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

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

最新文章

  1. Java 18 都要来了,你不会还在用Java 8吧?
  2. 精品软件 推荐 ACPsoft PDF Converter 免费的多功能 PDF 转换器
  3. 2005国际通信展将于10月18-22日举行
  4. 如何选择最优路径完成云原生上云?听这场阿里云特别分享【云原生技术与最佳实践】
  5. python3中map函数_python3中map()和reduce()函数
  6. 自定义控件——轮播广告条
  7. 沙家浜《智斗》系列,孩儿版。三、棋手
  8. 年轻的程序员该如何规划自己的未来
  9. 基于Redis实现简单的分布式锁
  10. 让Python更加充分的使用Sqlite3
  11. Storm-Engine 基于 C++ 的开源游戏引擎
  12. LINUX 下安装 jdk 问题(please use alien to install rpm packages on Debian )
  13. Silverlight制作scrollbar.
  14. python中的is和==
  15. js生成二维码 中间有logo
  16. c# tcpclient 连接超时的设置
  17. android 横屏字体变小,android屏幕大小,字体大小,横屏竖屏切换问题
  18. 什么叫做私有网络VPC?
  19. 大数据工程师需要学习哪些?
  20. 高等数学(第七版)同济大学 习题9-4 (前11题)个人解答

热门文章

  1. 在大厂干了 5 年产品后,如今她裸辞回家开店去了
  2. 征战全球16年:中国手机出海简史
  3. 【转载】Java异常控制机制和异常处理原则
  4. Foxmail邮件如何导入Outlook中
  5. 【SQL 代码】Sql分页(自用)
  6. mysql5.5.42指定数据库同步操作
  7. 敏捷开发和测试中重现缺陷和验证缺陷的解决方案(2)
  8. MySQL基础之 存储引擎
  9. ubuntu数据库安装配置
  10. Netty 4.1 Getting Start (翻译) + Demo