如何将我的 Vuex 操作分解为多个文件并仍然使用“dispatch”?

2023-12-19

我已将操作分解为多个文件,以使我的项目更具可维护性和可扩展性。尝试去dispatch然而,从一项行动到另一项行动是行不通的。

我的文件树如下所示:

store.js
actions
  |--actions.js
  |--createShape.js
  |--addShape.js

我的 store.js 看起来像:

import actions from './actions/actions'

const PlaypadStore = {
  namespaced: true,
  state: {
    localState: ''
  },
  actions: {
   ...actions,
  },
}

My actions.js文件夹有以下内容:

import CREATE_SHAPE from './createShape';
import ADD_SHAPE from './addShape';

export default {
  CREATE_SHAPE,
  ADD_SHAPE,
}

问题是尝试调度ADD_SHAPE from CREATE_SHAPE。我的 createShape.js 如下所示:

const CREATE_SHAPE = ({ state, dispatch }) => {
  return dispatch('ADD_SHAPE')
}

export default CREATE_SHAPE;

但它返回给我这个:

[vuex] unknown local action type

问题是:我怎样才能将我的操作分成多个文件,但仍然能够dispatch从一个行为到另一个行为?


如果您在操作文件中使用“导出默认...”并将文件导入到商店中,如下所示:

import actions_one from './actions_one';
import actions_two from './actions_two';

然后,您可以使用展开运算符使其像导入一个对象一样:

export default new Vuex.Store({
  namespaced: true,
  actions: {
    ...actions_one,
    ...actions_two
  },
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将我的 Vuex 操作分解为多个文件并仍然使用“dispatch”? 的相关文章

随机推荐

  • 在 Ruby on Rails 中的控制器之间重用代码的最佳实践

    我想分享一些控制器方法 在 ruby on Rails 中执行此操作的最佳实践是什么 我应该创建一个控制器扩展的抽象类 还是应该创建模块并将其添加到每个控制器中 下面是我想分享的控制器方法 def driving directions ad
  • Android 10 L2CAP 连接 IOException 超时 Wii 平衡板

    背景 很久以前 我的任务是为 Wii Balance Board 制作一个 Android 应用程序 经过一番折腾后 我发现 Android 不再支持 L2CAP 更多的research https stackoverflow com qu
  • 如何拒绝删除前触发器中的删除语句?

    如何拒绝delete中的声明删除触发器之前 mysql 示例用例 我有一条指定的记录id我想要的不会被删除 您可以创建一个使用引用 ID 列的外键约束的表 前提是该列是表的主键 在引用 ID 0 的 子 表中插入一行 并从该表中删除用户的所
  • 如何迭代 PCB 以显示 Linux 内核模块中的信息?

    我想编写一个 Linux 内核模块 它可以显示所有正在运行的进程的 PID 我有以下代码 procInfo c My Kernel Module for process info include
  • 如何锁定过时的团队项目

    As part of a maintenance I was about to Lock several now obsolete TeamProjects by right clicking on each one s root in S
  • 如何在 LLVM IR 中检查指令是否为 PHI 指令

    我正在写一个 LLVM pass 对于指令 llvm Instruction Class 如何检查指令是否是PHI指令 我找到了解决方案 您可以像这样检查 PHI 节点 isa
  • 自定义视图 (xib) 在情节提要上不可见

    我有一个自定义视图xib我有多个TableViews 我正在将其加载到ViewController作为嵌套视图 ViewController View View This is where I load my Custom View 当我运
  • JavaScript 中的位移位

    我有一个非常大的数字 5799218898 并且想将其右移到 13 位 所以 windows calculator 或 python 给了我 5799218898 gt gt 13 10001010010000111001111110000
  • 如何在变基期间对所有提交运行测试

    我有一个包含大量提交的功能分支 A B C master B C D Z feature 我正在研究feature但另一个开发人员已经创建了提交B and C 现在我想变基feature提交时C 但我和 或自动合并在变基期间引入了错误 我的
  • 如何在 swift 3 中检测文本视图开始编辑和结束编辑

    我在 Objective C 中找到了相关的问题和答案 但我无法快速找到正确的方法 有没有方法可以检测与快速归档的文本相同的文本视图 我想解决通过键盘隐藏文本视图的问题 为此 我需要一种方法来检测开始和结束编辑文本视图 任何帮助 将不胜感激
  • 从 Android 中的 onCreate 获取意图

    我使用 Intent 和一些额外的内容从我的小部件启动一个 Activity 无论如何 我只能在 Activity 处于后台时获取 Intent 创建 Activity 时如何获取 Intent 尝试使用 this getIntent 但额
  • 在 symfony 中扩展 sfDoctrineRecord

    我已经向 symfony 项目中的一些实例类添加了一些功能 我希望所有实例类都具有这些功能 如果我对编辑核心 symfony 安装没有任何疑虑 我会直接将我的方法添加到sfDoctrineRecord班级 但我当然不想这样做 因为我的更改会
  • 如何在C中修改共享内存(shmget/shmat)?

    我有一个结构 struct sdata int x int y time t time 我为该结构创建共享内存 如下所示 size t shmsize sizeof struct sdata shmid shmget IPC PRIVATE
  • 警报对话框未显示

    我是安卓开发新手 尝试在我的项目中实现 android 对话框 但它没有显示 logcat 中没有错误 这是它的 XML 代码
  • 电子邮件验证的正则表达式规则在 vuejs 中不起作用

    我尝试了这段代码 如https v2 vuejs org v2 cookbook form validation html https v2 vuejs org v2 cookbook form validation html validE
  • 测试 Eclipse 插件时的 AGENT_ERROR_INVALID_EVENT_TYPE

    我正在开发一个 eclipse 插件 我在测试的时候有时会遇到如下错误 JDWP exit error AGENT ERROR INVALID EVENT TYPE 204 ExceptionOccurred src share back
  • 使用正则表达式过滤差异

    似乎能够过滤差异以便不显示细微的更改将非常方便 我想编写一个将在该行上运行的正则表达式 然后向其传递另一个字符串 该字符串使用捕获的参数生成规范形式 如果之前和之后的行产生相同的输出 那么它们将从差异中删除 例如 我正在开发一个 PHP 代
  • 网络同步:优点和缺点?

    您的合作经历如何Websync http www frozenmountain com 彗星框架 在使用它之前您是否考虑过任何替代方案 到目前为止我可以这么说 Pros 非常简单易用 不需要任何服务器配置 Cons 昂贵 事实证明为我们节省
  • Spring 上下文层次结构

    我将使用一个父上下文创建多个 Spring 上下文 以下是我将如何创建父上下文 new ClassPathXmlApplicationContext new String ApplicationContext application xml
  • 如何将我的 Vuex 操作分解为多个文件并仍然使用“dispatch”?

    我已将操作分解为多个文件 以使我的项目更具可维护性和可扩展性 尝试去dispatch然而 从一项行动到另一项行动是行不通的 我的文件树如下所示 store js actions actions js createShape js addSh