修改从Vuex商店获取的变量

时间:2019-07-28 08:42:09

标签: vue.js vuejs2 vuex

这个问题可能是最无聊的问题,但我找不到。

首先,从商店状态分配变量

this.currentLoadNode = this.$store.state.loadNode

修改变量

this.currentLoadNode.shift();

编辑以避免误读:我不希望修改Vuex状态(我知道提交突变),我只想修改我的currentLoadNode变量。但是,以一种神秘的方式,Vuex还修改了loadNode状态并抛出了这个错误

  

[Vue警告]:监视程序的回调发生错误“ function(){return this._data。$$ state}”:“错误:[vuex]不在变异处理程序之外变异vuex存储状态。”

希望有人输入此问题,可以给我帮助。 Tks

1 个答案:

答案 0 :(得分:2)

我认为它们指向内存中的相同地址。您可以尝试创建副本

this.currentLoadNode = JSON.parse(JSON.stringify(this.$store.state.loadNode))

或ES6语法

this.currentLoadNode = [...this.$store.state.loadNode]