vuex的modules到底该如何使用?

uniapp使用vuex的modules模块,包括mapState, mapGetters, mapActions, mapMutations 首先在uniapp官网已经内置了vuex,我们只要引用即可,uniapp-vuex说明 1、分别创建根路径下store文件夹,里面放置index.js,并在store文件夹里在创建一个modules文件夹,内部放置moduleB.js和user.js文件 index.js文件 import Vue from 'vue' import Vuex from 'vuex' // 导入模块 import user from '@/store/modules/user' import moduleB from. 阅读详情

vuex的modules该如何使用哦

vuex构成

vuex主要包含以下五个部分:

  • State // 存储变量、数据
  • Getter // 类似计算属性
  • Mutation // 唯一修改state的方法
  • Action // 异步调用Mutation
  • Module // 将store模块化

【VUEX】

vuex的modules使用

创建目录

在这里插入图片描述

在此示例中,我创建了两个store文件,分别是 profile.js和custom.js,一个根文件index.js

custom.js

const customs = {
    namespaced: true, // 创建命名空间
    state: { // 存储变量
        showAlert: false
    },
    mutations: { // 定义修改state方法
        CHANGESHOW: (state, params) => {
            state.showAlert = !state.showAlert
        }
    },
    actions: { // 异步调用mutations
        setShow: ({ commit }) => {
            commit('CHANGESHOW')
        }
    },
    getters: { // 将数据过滤输出
        bodyShow: state => state.showAlert
    }
}
export default customs

profile.js

const profile = {
  namespaced: true,
  state: {
    name: 'common name',
    age: 18,
    bool: false
  },
  mutations: {
    CHANGEMSG: (state, params) => {
      state.name = params
    },
    CHANGEAGE: (state, params) => {
      state.name = params
    },
    CHANGEBOOL: (state) => {
      state.bool = !state.bool
    }
  },
  actions: {
    setName: ({ commit }) => {
      commit('CHANGEMSG', 'Vuex common name')
    },
    setAge: ({ commit }) => {
      commit('CHANGEAGE', 81)
    },
    setBool: ({ commit }) => {
      commit('CHANGEBOOL')
    }
  },
  getters: {
    vuexName: state => state.name,
    vuexAge: state => state.age,
    vuexBool: state => state.bool
  }
}

export default common

index.js

import Vue from 'vue'
import Vuex from 'vuex'

// 引入子store
import profile from './modules/profile'
import customs from './modules/customs'

// Vue.use(Vuex)
const store = new Vuex.Store({
  modules: {
    profile,
    customs
  }
})

export default store // 导出store,以便于后续使用

在需要使用的.vue文件里进行使用。方法如下

index.vue

<template>
	<div>
	  name: <h5>{{vuexName}}</h5> <button @click='setName'>chenge name</button>
      age: <h5>{{vuexAge}}</h5> <button @click='setAge'>chenge age</button>
      bool: <h5>{{vuexBool}}</h5> <button @click='setBool'>chenge bool</button>
      <br/>
      
      <span @click='setShow' style='display:inline-block;width:200px;height:30px;border:1px solid #999;border-radius:5px;text-align:center;line-height:30px;cursor: pointer;'>click me ,change showAlert</span>
      <em>{{bodyShow}}</em>
	</div>
</template>
<script>
import { mapActions, mapGetters } from 'vuex'
export default {
computed: {
    ...mapGetters('profile', ['vuexName', 'vuexAge', 'vuexBool']),
    ...mapGetters('customs', ['bodyShow'])
  },
methods: {
    ...mapActions('customs', ['setShow']),
    ...mapActions('profile', ['setName', 'setAge', 'setBool']),
}
</script>
<style>

</style>

app.js

import Vue from 'vue';
import VueRouter from 'vue-router';
// style
import './../../sass/app.scss';

// Components
import Main from './Main.vue';
import routes from './routes';
// store
import store from './store';  // 将store挂载到Vue

Vue.use(VueRouter);

const router = new VueRouter({
  routes,
  saveScrollPosition: true,
});

new Vue({ router, store, ...Main }).$mount('#app');

初始效果图 ⬇️
在这里插入图片描述
点击按钮之后效果图 ⬇️
在这里插入图片描述
至此,modules使用流程演示完毕!

Python-Opencv中的膨胀和腐蚀 Python-Opencv中的膨胀和腐蚀 腐蚀和膨胀是对白色部分(高亮部分)而言的,不是黑色部分。 膨胀就是图像中的高亮部分进行膨胀,“邻域扩张”,效果图拥有比原图更大的高亮区域。腐蚀就是原图中高亮部分被腐蚀,“邻域被蚕食”,效果图拥有比原图更小的高亮区域。 1.膨胀 膨胀过程是有一个结构元素或者模板去在原图像素比对,当比对过程中,中心像素位置的值根据其八邻域取或运算,或运算为1就取自己的中心值,... 阅读详情

相关推荐

手把手教你用STM32实现三相永磁同步电机FOC控制(附代码)

本文详细介绍了基于STM32的三相永磁同步电机(PMSM)FOC控制实现方法,涵盖硬件设计、软件架构、参数调试及完整代码解析。通过磁场定向控制(FOC)算法,实现高效精准的电机控制,适用于工业自动化、电动汽车等领域。文章还提供了硬件选型建议、电流采样方案对比及PID参数整定技巧,助力开发者快速掌握FOC控制技术。

weixin_29168675的博客 96

vuex之module的使用

page=${context.state.page}&size=${context.state.size}&username=${object.query}this.$store.dispatch('user/getAllUserList',{_thisthis,querythis.query})//this是Vue实例。//有命名空间提交方式,类似this.$store.dispatch("user/getAllUserList");//将token设置在请求头中提交,已经在拦截器中设置。...

快乐de馒头 4732

Scipy优化踩坑实录:trust-constr和SLSQP约束定义到底差在哪?

本文深入解析了Scipy优化模块中trust-constr和SLSQP两种方法在约束定义上的差异。通过对比面向对象的trust-constr和字典式定义的SLSQP,揭示了它们各自的优势与适用场景,帮助开发者在有约束优化问题中选择合适的算法,提升计算效率与准确性。

weixin_42573113的博客 270

【vue】vuex中modules的基本用法

为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割。在模块中使用:namespaced: true, 命名空间,添加之后,当前模块下的标识符可以和其它模块相同,用于解决不同模块的命名冲突问题。由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。

心生的小鱼专栏 7142

深入解析SPLL单相软件锁相环:从SOGI原理到PI系数调优实践

本文深入解析SPLL单相软件锁相环技术,从SOGI原理到PI系数调优实践,详细介绍了其在数字电源设计中的应用。通过数学推导和实际调试经验,帮助工程师快速掌握锁相环的核心参数计算和优化方法,提升电网相位追踪的精确度和响应速度。

weixin_30316097的博客 381

通过HTTP的方式克隆GitHub上的项目

通过HTTP的方式克隆GitHub上的项目 打开想要下载的项目的网页链接,点击Clone or download绿色的按钮,进行如下步骤实现通过HTP的方式下载项目。 点击红色框圈出的位置: 打开想要存放项目的文件夹,在空白处点击鼠标右键,选择Git Bash Here,打开命令行。 输入git clone 复制的下载地址,回车进行下载。 4.正在下载的界面 5.下载完成。 技多不压身 哦耶✌✌✌ ...

weixin_37826412的博客 3201

vue2 - vuex详细讲解和modules模块化的使用

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 通俗的来说,vuex是用于当某一状态需要在多个组件中共享,方便我们使用并追踪这些状态时使用。

尽日寻春不见春,芒鞋踏遍陇头云。归来笑拈梅花嗅,春在枝头已十分。 6590

BPMN-JS :修改节点“Change Type”事件类型

修改路径:node_modules\bpmn-js\lib\features\replace\ReplaceOptions.js。

TaylorY的博客 678

vuex中的modules使用

模块,向store注入其他子模块,可以将其他模块以命名空间的方式引用。{pid:1,pname:'牛逼1',price:10000},{pid:2,pname:'牛逼2',price:20000},{pid:3,pname:'牛逼3',price:30000},{pid:4,pname:'牛逼4',price:40000},为了拆分state中的数据,提高可维护性,防止修改时的覆盖和重名。{pid:5,pname:'牛逼5',price:50000}通过命名空间调模板中的 修改器。

shark1978的专栏 1218

手把手教你:在联想/戴尔笔记本上安装华为电脑管家,实现多屏协同(附详细避坑步骤)

本文详细指导如何在联想、戴尔等非华为笔记本上安装华为电脑管家,实现多屏协同功能。从硬件兼容性检查到定制化安装流程,再到功能调优与异常处理,提供了一套完整的解决方案,帮助用户突破品牌限制,享受华为生态的高效办公体验。

weixin_30251829的博客 850

RHEL 8 与 RHEL 7 与 RHEL 6 的比较,RHEL 8强到离谱!

Red Hat Enterprise Linux(RHEL)是企业级 Linux 发行版中最受欢迎的操作系统之一。RHEL 为服务器和企业环境提供了高性能、稳定性和安全性,适用于各种数据中心和云计算平台。自 RHEL 6 以来,Red Hat 对其操作系统进行了多次重大更新,RHEL 7 和 RHEL 8 带来了许多新的特性、工具和架构变化。

网络技术联盟站 707

vuex使用modules模块化

1、main.js引入。

qq_34631220的博客 729

2026.1.9:最新VSCode集成claude插件完美解决方案,跳过登录界面,使用国内Kimi K2进行计费

本文介绍了如何安装配置Claude插件并连接Kimi K2 API的详细步骤:1)搜索安装Claude插件;2)进入设置关闭登录提示;3)在settings.json中添加API配置,包括ANTHROPIC_AUTH_TOKEN(需替换为Kimi API Key)和ANTHROPIC_BASE_URL;4)通过Kimi官网获取API Key。完成配置后即可正常使用该插件。文中配有完整的操作截图指引。

拥抱具身智能,昇腾Ascend C 8719

VUEX的Modules的使用

什么是Modules? Modules是Vuex的核心概念之一,他的具体作用是分割store。个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割 在大型项目的时候需要模块化,这时候就得用Modules ,其中需要注意的是state的返回的是一个函数。 devtools:true/fals作用是让vue的调试工具不显示store 在分割出来的的模块局部状态,对于模块内部的mutation和getter,接受到的一个参数都是局部状态

Q1162647173的博客 1886

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

vuex中的modules的模块化使用

vuex中的modules的模块化使用 【1】在vuex中将组件模块化,新建mainModules.js模块 1)开启模块内部的action、mutation、getter都会被注册在全局命名空间内,俗话就是注册成全局的 2)在模块中,state 是被限制到模块的命名空间下,需要命名空间才能访问。 3)actions 和mutations, 其实还有getters 却没有被限制. // 通过添加namespaced将actions,mutations,getters限定在模块命名空...

懒虫翻身的博客 2377

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

在uni-app项目中使用vuex模块化modules

一、vuex的组成部分 state,数据源(状态量) mutations,同步操作数据源 getters,计算属性 actions,异步操作数据源 modules,模块化

World_Mei的博客 5236

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Vuex Class Modules 使用指南

Vuex Class Modules 使用指南 1. 项目介绍 Vuex Class Modules 是一个基于 TypeScript 的解决方案,用于创建类型安全的 Vuex 模块。它利用 ES6 类和 ES7 装饰器简化了 Vuex 模块的定义与管理,使得在 Vue 应用中实现状态管理更为直观且强类型。通过封装模块的常见操作,开发者可以更加专注于业务逻辑而不是状态管理的细节。 2. 项目快速启...

gitblog_00691的博客 1173

vuex在modules模式下使用vuex-persistedstate插件做持久化

vuex在modules模式下使用vuex-persistedstate插件做持久化

wozhenhaokan的博客 1634

vue中vuex的使用, vuex使用模块化自动引入modules

vuex的使用和自动化引入modules

sharlicy0621的博客 813

Vuex 使用modules采坑

前面的话 Vuex一般用于项目比较大,组件之间的逻辑关系比较多时,其中的五大选项:state、mutations、actions、getters、modules小柒平时一般只使用过前四个。modules用来分割store,这次的项目用到了这个选项,记录一下踩的坑。 项目结构 store文件夹如下: 我们不同模块state、getters、mutations、actions都写在不同的文件中,放入...

小柒的前端之旅 1064

vuex modules 怎么使用?

vuex modules 怎么使用? 目录结构: a.js vuex 模块 b.js vuex 模块 index.js vuex v.vue 结果内容显示 src\store\modules\index.js import Vue from 'vue'; import Vuex from 'vuex'; import numbers from './a' import count from './b' Vue.use(Vuex); export default new Vuex.Store({

酱子 600

vuex的简单使用(state,mutations,modules)

关于vuex的state和mutations的简单使用

qq_62358532的博客 172

vuex Modules 设置 使用

vuex Modules 的简绍 与 使用 由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。 为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割: vuex的基本使用 建议先了解这个 再看下文 https://blog.youkuaiyun.com/dwp_wz/article/details/1

厚渡 6061

vuex中modules的使用

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

吴冬雪的博客 629

vuex的使用——modules模块化,源代码

上一篇博客已经介绍了关于vuex的基本用法以及store里的四项该怎么写,这一篇主要就是写一下将store模块化的怎么写,再此放上目录及代码! store文件夹目录: 1、main.js import store from './store/store' new Vue({ store, render: h => h(App) }).$mount('#app') 2、store...

幼儿园园长 3223

vuex中使用modules时遇到的坑

其实也不算坑,只是自己没注意看官网api,定义module另外命名时,需要在module中加一个命名空间namespaced: true 属性,否则命名无法暴露出来,导致报[vuex] module namespace not found in mapState()等错误。...

Mortimer's Blogs 2万+
上一篇: element的table 默认高亮某一行 | 补充(百分比设置列宽)
下一篇: vue如何快速创建单文件组件(类似react的rcc操作)? || vue自定义代码块!
Dark_programmer
博客等级 码龄7年 9073粉丝 307原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值