Vue2 + Vuex 提交不提交(没有 Vue devtools) [英] Vue2 + Vuex Commit Not Committing (without Vue devtools)

查看:19
本文介绍了Vue2 + Vuex 提交不提交(没有 Vue devtools)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 Vuex 完成应该是一项基本任务,但由于某种原因它不起作用,经过广泛搜索后,我非常感谢您的帮助.

我想要做什么:

使用新属性(对象)更新我商店中对象的列表(对象).

出了什么问题:

在我什至调度操作以从我的组件提交新对象之前(我正在通过 mapActions 访问操作),列表中任何现有对象中的某些属性都会更新为与输入/v-models 相关的值在我的组件中.正如我的代码如下所示,我知道对象的反应性是一个问题,所以我根据文档使用 Vue.set(...) (突变遵循 Vue 的反应性规则)

为什么我不认为我在做一些完全愚蠢的事情...(但可能是错的)

当我在 DevTools 中检查突变时,突变按预期记录,当我按下提交"/提交全部"时,列表中的现有对象不再响应输入的更改.鉴于该操作实际上应该将更改提交给状态,这显然是我期望发生的行为.但是为什么它不能在代码中工作,而只能在开发工具中工作?

我再次为可能是基本问题而道歉,但我看到其他一些人也有类似问题,但没有书面解释我们遗漏了什么......

初始状态

const state = {引号: {}}

突变

突变:{[types.ADD_QUOTE](状态,有效载荷){Vue.set(state.quotes,payload.id,payload)}}

行动

动作:{addQuote ({ commit }, 有效负载) {提交(types.ADD_QUOTE,有效载荷)}}

组件