Vuex核心 - 模块 module(进阶)创建拆分

news2025/7/10 20:05:25

文章目录

  • module分模块
  • 一、什么是 模块module
    • 二、module的好处
    • 三、模块创建-拆分

module分模块

一、什么是 模块module

在Vuex中,模块(module)是用来组织和管理状态(state)、行为(actions)、变更(mutations)和获取器(getters)的一种方式。模块可以将相关的状态和操作集中到一个独立的命名空间中,以避免全局命名冲突,并且提供了一种结构化的方式来组织大型应用程序的状态管理。

每个模块都可以包含自己的状态、行为、变更和获取器。它可以通过模块的命名空间来访问这些内容。当在多个模块之间存在重复的功能或状态时,模块可以被复用或嵌套在其他模块中,从而实现更高级别的状态管理。

二、module的好处

使用模块的好处包括:

  1. 命名空间:模块提供了一个命名空间,使得不同模块之间的状态和操作不会相互干扰,减少命名冲突的可能性。
  2. 代码组织:模块可以将相关的状态和操作放在一起,使得代码更加清晰、易于维护和扩展。
  3. 复用性:模块可以被复用,减少代码的重复编写,提高开发效率。
  4. 嵌套:模块可以嵌套在其他模块中,形成层级结构,更好地组织和管理应用程序的状态。

在Vuex中,使用store对象的modules选项来注册和配置模块。每个模块可以拥有自己的state、actions、mutations和getters,并提供namespaced选项来指定是否开启命名空间。

三、模块创建-拆分

在这里插入图片描述

在这里插入图片描述

第一步:创建modules文件夹,里面放子模块(index.js 是主模块)

在这里插入图片描述
第二步 :里面的模块都基于该框架形成一个子模块,将里面的方法暴露给主模块。

user子模块:

// 这是 user 子模块 (这里的数据都数据user子模块的)

// 创建vuex核心函数
const state = {
  userInfo: {
    name: 'zs',
    age: 18
  },
  score: 99
}
const mutations = {}
const actions = {}
const getters = {}

// 导出子模块中的、vuex核心函数
export default {
  state,
  mutations,
  actions,
  getters
}

setting模块:

// 这是 setting 子模块 (这里的数据都数据 setting 子模块的)

// 创建vuex核心函数
const state = {
  theme: 'light',
  desc: '测试'
}
const mutations = {}
const actions = {}
const getters = {}

// 导出子模块中的、vuex核心函数
export default {
  state,
  mutations,
  actions,
  getters
}

第三步: 主模块 index.js 导入 modules文件夹中的子模块,并且使用。

import user from './modules/user'
import setting from './modules/setting'


  // 5.modules  模块
  modules: {
    user,
    setting
  }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/996522.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CIO40--数字化转型之回报效益ROI(含表格)

一﹑对BOSS的好处 随时可以由系统中的资料掌握公司的营运状况。建立公司的管理体系及运作规范﹐由系统管理公司运作。建立公司营运的数据库﹐累积公司的管理经验知识﹐不会因人员异动而流失。由系统信息的整合﹐可以提升公司的反应速度﹐不需由人力统计﹐可减少错误﹐节省人力…

3D视觉测量:形位公差 GDT同轴度(附源码)

文章目录 0. 测试效果1. 基本内容2. 公共轴线法3. 实现代码(待添加)目标:通过3D视觉的方法测量圆柱的同轴度 0. 测试效果 1. 基本内容 "同轴度" 是一个工程学和制造业中常用的术语,用来描述一个对象、零件或装置的各个组成部分是否在一个共同的轴线上对齐…

自动驾驶之高精地图介绍

高精地图 文章目录 高精地图前言一、什么是高精地图 前言 一、什么是高精地图 高精地图(High Definitation Map,HD MAP),和普通导航电子地图的主要区别是精度更高、信息更丰富。精度更高主要体现在高精地图的绝对坐标精度更高(指的是地图上某个目标和外部的真实世…

linux 网络接口的子接口的配置

参考: https://blog.csdn.net/baidu_38803985/article/details/104653205 在 Linux 中,网络接口通常以ethX的形式命名,其中X代表接口的编号,例如eth0代表第一个网络接口,eth1代表第二个,依此类推。虚拟子接…

嵌入式学习笔记(22)汇编实现时钟设置代码详解

4.6.1时钟设置的步骤分析 第1步:先选择不使用PLL。让外部24MHz原始时钟直接过去,绕过APLL那条路。 第2步:设置锁定时间(PLL_LOCK)。默认值是0x0FFF,保险起见我们设置0xFFFF 第3步:设置分频系…

Linux 服务器连接方式

这里服务器使用 Ubuntu 20.04.6 LTS aarch64,这篇文章就不说使用工具连接了,工具直接添加就好了,这里说下终端命令操作 SSH 命令使用密码连接 使用以下命令在终端进行密码连接 ssh usernamehostname如果是第一次连接 SSH 客户端会提示你是否…

盘点一个os.path.join()函数遇到的小问题(文末赠书)

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 连峰去天不盈尺,枯松倒挂倚绝壁。 大家好,我是皮皮。 一、前言 前几天在Python最强王者群【小马哥】问了一个os路径拼接处理的问…

Kafka入门,这一篇就够了(安装,topic,生产者,消费者)

目录 Kafka的安装文件与配置目录binconfig 配置文件server.propertiesproducer.propertiesconsumer.properties 命令行简单使用kafka-topics.sh新增查看列表查看详情修改删除 kafka-console-producer.shkafka-console-consumer.sh 概念集群代理broker主题topic分区partition偏移…

用递归实现字符串逆序(不使用库函数)

文章目录 前言一、题目要求二、解题步骤1.大概框架2.如何反向排列?3.模拟实现strlen4.实现反向排列5.递归实现反向排列 总结 前言 嗨,亲爱的读者们!我是艾老虎尤,今天,我们将探索一个题目,这个题目对新手非…

【计算机基础】揭露办公软件WPS、Offfice好用但又很少去做的便捷操作

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

【memcpy函数的介绍与使用和模拟实现】

memcpy函数的介绍与使用和模拟实现 1.memcpy函数的介绍 资源来源于cplusplus网站 它的作用是: 将数字字节的值从源指向的位置直接复制到目标指向的内存块。 源指针和目标指针指向的对象的基础类型与此函数无关; 结果是数据的二进制副本。 该函数不检查源代码中是否…

uboot顶层Makefile前期所做工作说明四

一. uboot顶层 Makefile文件 uboot 顶层 Makefile,就是 uboot源码工程的根目录下的 Makefile文件。 本文继续对 uboot顶层 Makefile的前期准备工作进行介绍。续上一篇文章内容的学习,如下: uboot顶层Makefile前期所做工作说明三_凌肖战的博…

信息系统项目管理师(第四版)教材精读思维导图-第十二章项目质量管理

请参阅我的另一篇文章,综合介绍软考高项: 信息系统项目管理师(软考高项)备考总结_计算机技术与软件专业技术_铭记北宸的博客-CSDN博客 本章思维导图源文件 ​ 12.1 管理基础 12.2 管理过程 12.3 规划质量管理 12.4 管理质量 12.5…

增强 CAD Exchanger SDK 中 B-rep 表示的渲染性能

增强 CAD Exchanger 中 B-rep 表示的渲染性能 在这篇博文中,我们将深入探讨增强 CAD Exchanger 产品中 B-rep 表示的渲染性能的主题,探讨此过程中面临的挑战,并讨论 CAD Exchanger 所采用的创新技术来优化它。 在 版本 3.20中,我…

第7篇 vue的模块化与label的转换

一 label的转换 1.1 label的转换 二 模块化 2.1 模块化 前端中,js文件调用js文件,js文件之间的调用,即就是模块化。 2.2 案例1 1.新建工程并初始化 2. 编写脚本 1.js // 定义成员: const sum function(a,b){return parseIn…

持安零信任加入PKS体系生态联盟,共创办公安全新生态

近日,PKS体系生态联盟公布最新一期会员单位名单,零信任办公安全领域的明星企业持安科技成为其网络安全领域新增会员,未来将与众多合作伙伴一同建设网络安全强国。 PKS体系生态联盟是在中国电子信息产业集团有限公司的倡议下,广泛联…

Redis数据库安装、使用、数据类型、常用命令(详解)

安装 Releases tporadowski/redis GitHub 直接去选择msi格式的,窗口式的安装,一步一步。 安装过程中有一个选项是问你需不需要配置到环境变量中,选上这个选项,不选的话,需要自己去配环境变量。 检查是否安装配置…

腾讯云CVM S5服务器性能如何?CPU计算性能测评

腾讯云服务器CVM标准型S5实例具有稳定的计算性能,CVM 2核2G S5活动优惠价格280.8元一年自带1M带宽,15个月313.2元、2核4G配置748.2元15个月,CPU内存配置还可以选择4核8G、8核16G等配置,公网带宽可选1M、3M、5M或10M,百…

如何修改jupyter notebook默认打开路径

1、用jupyter notebook在其他位置打开自己的ipython项目: jupyter notebook是一个很好用的工具,可以保存运行结果,还可以给项目添加很多可视化操作与介绍文字。安装anaconda后,jupyter notebook就会自动安装,点开它会…

进入大厂测试一年后的经历和感触

从去年决定跳出舒适区,应聘大厂,截止到目前已经将近一年,值此之际,总结下自己近一年在大厂的经历。希望通过我的感触,能够帮助你们进一步了解大厂的测试工作。 1、维护上下游合作关系 在大厂,人际关系非常…