我的网站上有一个按钮,可以执行以下操作:
this.$store.commit('SET_THREAD_UPDATE', thread)
“线程”是一个由多个属性和对象组成的对象,调用该函数时,“线程”或其属性之一的对象内可能只有很小的变化。
'SET_THREAD_UPDATE'是Vuex突变,即使我没有做任何不同的事情,也是唯一会引起问题的一个。
const state = {
threadUpdate: {}
}
const mutations = {
SET_THREAD_UPDATE (state, userObj) {
state.threadUpdate = userObj
}
}
第一次按下触发提交的按钮时,一切都会按预期进行。但是,从第二次开始,我遇到了两个错误,并且提交没有执行任何操作:
[Vue warn]: Error in callback for watcher "function () { return this._data.$$state }": "Error: [vuex] Do not mutate vuex store state outside mutation handlers." (found in <Root>)
Error: "[vuex] Do not mutate vuex store state outside mutation handlers."
我找不到错误。这没有任何意义,因为我正在使用突变来更改状态。有任何想法吗?谢谢!
答案 0 :(得分:0)
该问题的解决方案是使用JSON而不是常规JS对象。不确定为什么。