美文网首页
vuex 2 个模块之间修改数据

vuex 2 个模块之间修改数据

作者: 云高风轻 | 来源:发表于2023-07-26 17:17 被阅读0次

1. 前言

  1. 最近找工作 遇到了一些有意思的面试题记录下来
  2. vuex 2 个模块之间修改数据,这个平常开发 确实没用到,而且也破坏了vuex单向数据流的原则,可能导致数据状态管理的混乱
  3. 但是既然问了应该就有解决办法 所以简单写下

2. 条件

  1. vuex 中 有user 和 common 2 个模块

3. comm 模块

// common.js (common module)
const state = {
  dataToBeModified: '',
};

const mutations = {
  SET_DATA(state, payload) {
    state.dataToBeModified = payload;
  },
};

export default {
  namespaced: true,
  state,
  mutations,
};


4. user 模块

  1. 在user模块的actions中,使用commit来触发common模块的mutations
  2. 从而修改common模块的数据。
// user.js (user module)
const actions = {
  updateUserCommonData({ commit }, payload) {
    commit('common/SET_DATA', payload, { root: true });
  },
};

export default {
  namespaced: true,
  actions,
};


5. 组件使用


import { mapActions } from 'vuex';

export default {
  // Component options...

  methods: {
    ...mapActions('user', ['updateUserCommonData']),
    updateCommonData() {
      this.updateUserCommonData('New data'); 
    },
  },
};


参考资料


初心

我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落的崛起;
共勉

相关文章

  • 模块化vuex,获取、设置数据,及刷新保留数据方法

    前言 1.模块化vuex2.获取vuex中的数据3.设置vuex中的数据4.刷新之后,保留数据 模块化vuex 数...

  • vuex深度学习

    单个组件的数据走向 VUEX架构 最简单的Store VUEX核心模块 state模块 getter模块 Muta...

  • Vuex

    Vuex简介: 由于使用propes传递数据太麻烦,所以使用vuex进行状态管理。不能直接修改vuex中的数据,只...

  • 在vuex中五个模块的用法解析

    vuex其实挺好用的,页面之间不需要来回传值了,特别是写工作系统的时候,数据总是倒来倒去,之前vuex里的模块都是...

  • 09_04.vue改造优化

    1. 已经专门使用了一个vuex模块,那么有关购物车的数据动态变化应该都由这个模块联动 项目架构: 2. 完整代码...

  • VueX--VUE核心插件

    使用VueX方法 1.安装vuex模块 npm install vuex --save 2.作为插件使用 Vue....

  • Scrapy框架解析

    Engine(1) 控制所有模块之间的数据流(2)根据条件触发事件不需要用户修改 Downloader根据请求下载...

  • vuex

    vuex是组件之间数据共享的,如数据无论哪个组件都可以用得到创建vuex会有一个这样的文件夹 vuex的基本使用 ...

  • js-发布订阅模式实现EventBus

    Vue2.x中兄弟组件之间传值可以使用Vuex来达到目的,如果项目中不需要类似Vuex这样的库来处理组件之间的数据...

  • vuex的使用

    同步的vuex提交的流程图: 异步vuex 修改数据的流程 Mutations里面如何传参: Vuex里面如何使用...

网友评论

      本文标题:vuex 2 个模块之间修改数据

      本文链接:https://www.haomeiwen.com/subject/hlbkpdtx.html