从state里获取数据VUEX提示报错

611 阅读1分钟

有时候我们从vuex里取数据出来的时候可能会报错,

VUEX报错 [vuex] Do not mutate vuex store state outside mutation handlers

提示报错说:不可在mutation外面操作修改vuex里的数据。
解决方法:

数组类型的数据:
错误的写法:
var list = state.materialList; // 数组深刻拷贝报错
正确的写法:
var list = state.materialList.slice(); // 不能直接操作state里的数据,那我们就新建一个变量装着

对象类型的数据:
错误的写法:
var listObj = state.materialObj; // 对象深拷贝vuex报错
正确的写法:
var listObj = JSON.parse(JSON.stringify(state.materialObj)); // 不能直接操作vuex里的数据,那我们就新建一个变量装着