这个问题可能是最无聊的问题,但我找不到。
首先,从商店状态分配变量
this.currentLoadNode = this.$store.state.loadNode
修改变量
this.currentLoadNode.shift();
编辑以避免误读:我不希望修改Vuex状态(我知道提交突变),我只想修改我的currentLoadNode
变量。但是,以一种神秘的方式,Vuex还修改了loadNode
状态并抛出了这个错误
[Vue警告]:监视程序的回调发生错误“ function(){return this._data。$$ state}”:“错误:[vuex]不在变异处理程序之外变异vuex存储状态。”
希望有人输入此问题,可以给我帮助。 Tks
答案 0 :(得分:2)
我认为它们指向内存中的相同地址。您可以尝试创建副本
this.currentLoadNode = JSON.parse(JSON.stringify(this.$store.state.loadNode))
或ES6语法
this.currentLoadNode = [...this.$store.state.loadNode]