问题标签 [vuex]

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.

0 投票
1 回答
13394 浏览

vuex - 使用 Vuex 进行异步调用

我刚开始在这里学习 Vuex。到目前为止,我一直将共享数据存储在一个store.js文件中并在每个模块中导入store,但这越来越烦人,我担心会发生变异。

我正在努力解决的是如何使用 Vuex 从 firebase 导入数据。据我了解,只有动作可以进行异步调用,但只有突变可以更新状态?

现在我正在从我的突变对象调用firebase,它似乎工作正常。老实说,所有的上下文、提交、分派等似乎有点过载。我希望能够使用最少量的 Vuex 来提高工作效率。

在文档中,看起来我可以编写一些代码来更新突变对象中的状态,如下所示,将其导入computed属性中的组件,然后使用store.commit('increment'). 这似乎是使用 Vuex 所需的最低数量,但操作从何而来?困惑:(任何关于最佳方式或最佳实践的帮助将不胜感激!

我的代码如下

store.js

main.js

应用程序.vue

0 投票
5 回答
120662 浏览

vue.js - VueJS 从父组件访问子组件的数据

我正在为 webpack 使用 vue-cli 脚手架

我的 Vue 组件结构/层次结构目前如下所示:

  • 应用程序
    • PDF 模板
      • 背景
      • 动态模板图像
      • 静态模板图像
      • 降价

在应用程序级别,我想要一个 vuejs 组件方法,它可以将所有子组件的数据聚合成一个可以发送到服务器的 JSON 对象。

有没有办法访问子组件的数据?具体来说,多层深度?

如果不是,那么传递可观察数据/参数的最佳做法是什么,以便当它被子组件修改时,我可以访问新值?我试图避免组件之间的硬依赖,因此到目前为止,使用组件属性传递的唯一内容是初始化值。

更新:

扎实的答案。在查看了两个答案后,我发现有用的资源:

0 投票
1 回答
1063 浏览

vue.js - VuexFire 突变

对于使用过 VuexFire Vuex v2 的任何人。这里mutations: VuexFire.mutations指的是什么?答案可能很明显,但我不知道这意味着什么。那我的实际突变去哪儿了?我现在正在使用 Vuex v1,它似乎工作正常,但我想升级到使用 Vuex v2。谢谢!

0 投票
0 回答
546 浏览

meteor - Akryum:Vuex 映射动作不是函数(typeError)

"this.actionName" 作为方法在 console.log 中未定义,但错误消息说它是 typeError 并且不是函数。我正在使用流星框架,并带有 vuex 的自定义实现。

以下是我认为相关的 pastebin:http: //pastebin.com/zGfuqwxw

0 投票
2 回答
1022 浏览

vue.js - 如何监听从 API 加载的状态对象的变化?

如果我这样设置状态对象:

在视图方面,当我使用突变更改例如状态时,一切都在正确更改。

但如果我使用 API 响应设置工具:

响应是 100% 相同的,没有任何反应。状态对象的变化也可以在 Vue 调试器中看到。

所以我尝试的是添加 const state: { tools: { tool0: { status: true. 状态: } } }

并从 ajax 添加了 tool1 和 tool1(所以我的对象有 3 个子元素 tool0、tool1、tool3)。因此,如果我在 tool1 或 tool2(由 ajax 加载)上触发更改,则什么也没有发生。但是,当我在 tool0 上触发更改(之前硬编码)时,一切正常 - 在这种情况下,还应用了在 ajax 加载的内容上设置的设置。

感谢您的任何提示!

0 投票
15 回答
103362 浏览

javascript - 我可以从 Vuex 商店中的突变之一调用提交吗

我有一个vuex商店,如下所示:

我想调用 mutation: SET_CATEGORIESfrom mutation: SET_PRODUCTS,但这给了我错误:

projectFilter.js:22 Uncaught (in promise) ReferenceError: commit is not defined(…)

什么应该是正确的方法来做到这一点。我试过store.commitand this.commit,但这些也给出了类似的错误。

0 投票
2 回答
3778 浏览

vue.js - 计算属性未从 Vuex 存储对象更新

我有一堆类绑定语句:

这是上面提到的方法:

...以及该方法正在查看的计算属性:

处于 Vuex 状态。

问题是,当单击具有上述类绑定的下拉列表之一时,这些属性不会更新。如果我导航到另一条路线然后返回,则活动类已被应用得很好。我可以强制计算属性重新计算以便立即应用该类吗?

我知道添加属性不会触发反应性,但据此,如果我用新的对象替换对象,则应保持反应性。这就是我正在做的事情:

...替换对象。我难住了。

0 投票
1 回答
1791 浏览

javascript - 如何在 Vuex 中使用带有 getter 和 setter 的计算属性来触发提交

我正在使用计算属性:category在由 v-bind 绑定的输入字段中,如下所示:

我有这个计算属性的getter和setter,如下所示:

但是当我更改输入时,setter 不会被调用,我怎样才能实现这一点,或者有什么其他方法可以直接从 HTML 输入字段更改状态变量。

是小提琴。

0 投票
2 回答
1907 浏览

javascript - 使用 Vuex 在 Vue.js 中的计算属性上未从观察者更新数据变量

小提琴:https ://jsfiddle.net/mjvu6bn7/

我有一个计算属性的观察者,它依赖于异步设置的 Vuex 存储变量。我正在尝试设置 Vue 组件的数据变量,当这个计算属性发生变化时,但这并没有发生。

这是Vue组件:

这是 Vuex 商店:

是为此创建的小提琴。如您所见,myVar 没有更新,但是当宠物加载时会调用 watcher。

0 投票
1 回答
315 浏览

javascript - [Vue.js]vuex 中的命名空间

我正在尝试命名空间模块的 getter、mutations、actions,我在这里看到了这个文档,但似乎有点模糊。

那么如何在 vue 组件中使用模块化的 getter、mutations 呢?