vue.js - 将 Vuex 操作分解为多个文件

标签 vue.js vuejs2 vuex vuex-modules

我已经在使用模块将我的 Vuex 存储分解为单独的文件,但想知道是否以及如何将存储操作再次分解为多个文件?

某些上下文 - 我在基于 Vue 的 Electron 应用程序中有一个 Products 商店。在这里,我有多种方法可以从本地数据库加载产品,在本地数据库中没有产品时下载产品,并在本地数据库中更新产品。所以我相信您可以想象,我在这个存储文件中的操作变得相当大。

到目前为止,我已经尝试将它们分成 2 个文件,initialupdate,然后将它们导入并合并,如下所示:

inital.js:

export default {
    // My methods
}

更新.js:

export default {
    // My methods
}

products.js(商店模块):

import initialActions from './actions/intial';
import updateActions from './actions/update';

const actions = Object.assign(initialActions, updateActions);

现在当我调用它们时,state、dispatch、commit 没有定义。所以我有点卡住了,有点不愿意将它们合并回商店文件。

结构:

- store
  - modules
    - products
      - products.js
      - actions
        - initial.js
        - update.js

最佳答案

Action 1

export default { //methods }

Action 2

export default { //methods }

Action .js

import 'action1.js'
import 'action2.js'    
export default { ...action1, ...action2 }

突变和 setter/getter 也是如此。

关于vue.js - 将 Vuex 操作分解为多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54240544/

相关文章:

javascript - Vuex 不更新使用 mapState 映射的计算变量

javascript - Vuex - 调用异步函数

javascript - 使用 Vue JS 使用 ajax 和 formspree 提交表单

javascript - 如何将提及标签文本转换为 <router-link> ? (VUEJS)

javascript - Vue 扩展一个具有导入的类

javascript - 如何使用 vuex 刷新页面后仍保持登录状态?

javascript - Vue SPA 中的视频无法在 iPhone 上自动播放/加载

vue.js - 如何在vuejs中创建输入事件

javascript - VueJS 选择框在动态填充时没有反应

javascript - 如何在Vuejs中过滤对象的属性