问题标签 [vuex-modules]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vue.js - 无法在 Vuex 中的其他操作中反跳操作
我试图消除动作中的任何东西,它以一种或另一种方式被吞没......
采取这个(伪)代码:
当我调用该操作时,我看到了Outside debounced function
,但我看不到其他日志记录并且其他操作没有被触发。
任何人都有这方面的经验,可以指出我正确的方向吗?
vue.js - 使用 Vuex 存储模块为输入字段设置值
我有一个模块模式的 vuex 来获取用户的数据:
存储/模块/users.js
然后在我的模板页面/用户/_id/index.vue
现在我检查我有对象getUser的吸气剂,我可以看到该属性。如何将 vuex getter 中的名称值分配给输入字段?
vue.js - Vuex-module-decorator,修改动作内部的状态
使用vuex-module-decorator我有一个authenticate
动作应该改变状态。
但这失败并显示以下消息:
未处理的承诺拒绝错误:“ERR_ACTION_ACCESS_UNDEFINED:您是否尝试在 @Action 中访问 this.someMutation() 或 this.someGetter?这仅适用于动态模块。如果不是动态的,请使用 this.context.commit("mutationName", payload)和 this.context.getters["getterName"]
我不明白的是它与@MutationAction
and配合得很好async
。但是我想念返回类型Promise<Principal>
。
--
此时我感到受阻,并希望得到一些帮助来实现@Action
可以改变状态并在 a 中返回特定类型的 a Promise
。
vuejs2 - 如何从同一操作异步调用提交和分派?
我想在突变完成它的工作后执行一个动作。
突变(SOME_MUTATION
)来自同一个商店,动作(test/testAction
)来自一个模块
注意:我不知道这是否是默认行为
vue.js - 尝试从 vuejs 组件调度动作时,vuex 未知动作类型
我在另一个项目中使用 laravel、vue 和 vuex,代码几乎相同,而且效果很好。我正在尝试将我在那里所做的调整到这个项目中,使用该代码作为样板,但我不断收到错误:
我在 store 目录中有一个 index.js,然后导入命名空间的 store 模块,以保持整洁:
面板.js:
以下是我的 vue 组件中的脚本部分:
这是我的 app.js 中的相关代码:
更新:: 我试图从 vuex 记录初始状态,我得到:挂载钩子中的错误:“ReferenceError:面板未定义。我尝试使用另一个模块存储创建另一个非常基本的组件,那里也没有运气。我检查了我的 vuex 版本,3.1.0,最新的。似乎是 app.js 或 store 中的东西,因为问题在多个模块中仍然存在。
vue.js - 将 Vuex 操作分解为多个文件
我已经在使用模块将我的 Vuex 存储分解为单独的文件,但想知道是否以及如何将存储操作再次分解为多个文件?
一些上下文 - 我Products
在基于 Vue 的 Electron 应用程序中有一个商店。在此,我有多种方法可以从本地数据库加载产品,在本地数据库中没有产品时下载产品,并在本地数据库中更新产品。所以我相信你可以想象,我在这个存储文件中的操作变得相当大。
因此,到目前为止,我已经尝试将它们拆分为 2 个文件,initial
然后update
将它们导入并合并,如下所示:
初始.js:
更新.js:
products.js(商店模块):
现在当我打电话给他们时,state, dispatch, commit
都没有定义。所以我有点卡住了,有点不愿意将它们合并回商店文件。
结构:
javascript - Vuex:功能范围模块中的未知 Getter
我第一次在“功能范围结构”中使用 Vuex 商店,并且一直难以追踪为什么我得到一个[vuex] unknown getter: $_kp/kp
- (除了引用的错误之外,Vue/Vuex 并没有对此产生太大影响)。
更新:我打开store.subscribeAction()
看看是否放弃了更多信息。这是打印的日志(我没有看到任何有用的信息,但希望对您有所帮助)。
动作类型:$_kp/getKpIndex
动作负载:未定义
当前状态:{ ob : Observer} $_kp: Object kp: "2" //<- 这就是我想要得到的——“2”!
UPDATE-2:我现在也在使用 Vues Inspector,它显示以下内容:
非常感谢您对此提供的任何帮助,我希望这对以这种方式设置商店的人有用。
SomeElement.vue:
商店index.js
动作.js:
突变.js
...最后是getters.js
vuejs2 - 使用 vuex 持久化状态将数据保存到本地存储
我目前正在使用这个插件vuex-persistedstate
我想将它与我的 Nuxt 应用程序的 Vuex 模块一起使用。
基本上我有一个登录模块,如果成功,然后存储authToken
来自响应的localStorage
这是我的代码:
在突变内部,有SET_AUTH_TOKEN
从 API 接收令牌作为参数的。如何将其保存到 localStorage?
vue.js - Vuex 的底层会发生什么?某些修改会破坏核心功能吗?
目前我正在使用 Vue + Typescript + Vuex 在我的 Vue 组件中使用来自 vuex-class 的装饰器,并按商店模块组织我的文件,例如:
我不喜欢默认的 Vuex 设置是不灵活的,比如无法在模块 A 的操作中访问模块 B 的操作。
例如,在我的“auth”商店模块的注册操作中接收个人资料图片,其 URL 应写入我的用户个人资料中,由我的“用户”商店模块的操作处理
据我所知,默认设置无法实现以下目标;我唯一可以从任何地方访问的是各种模块的状态。
它让我想到了通过替换看起来像的当前设置来克服这个问题的小改动
auth-actions.ts
auth-mutations.ts
通过更纯粹、自定义(和类型安全)的设置,如下所示
auth-actions.ts
auth-mutations.ts
user-actions.ts
我现在最想知道的是
- 这种方法的优点和缺点/合理的选择?
- 这会破坏 Vuex 的一些核心功能吗?
- Vuex 的底层是否有一些功能可能会像一些优化/缓存机制一样被破坏(至少在 getter 方面)?
vue.js - 在一个vuex模块中,如何根据rootstate全局定义一个const
在我的 vuex 模块中,对于每个操作,我需要从根状态获取相同的值。因此我这样做:
有没有办法在模块中只声明一次这个常量,而不是重复
在每个动作中?