我正在尝试使用变异来更新存储状态。但是问题在于,突变后状态保持不变,并且仅在该突变的范围内进行更新。它的作用更像是将参数传递给函数。
期望的是商店中的状态应该更新,但是这没有发生。存储状态根本没有发生变化,但是参数状态正在发生变化。
这是我的实现的示例代码。我正在为Vuex Store使用模块,这是来自
user.store.js
export const user = {
state: {
user: {},
isAuthenticated: false
},
mutations: {
updateUser(state, payload) {
Vue.set(state.user, payload.key, payload.value);
}
}
}
编辑2: 我已解决此问题,这是由于用户存储模块和 state.user 对象的命名类似。 更改存储模块的名称后,问题已解决。
谢谢您的贡献。
答案 0 :(得分:0)
尝试在突变中使用Vue.set。
例如:
state: {
isInteractionEnabled: false
},
mutations: {
SWITCH_INTERACTION: (state, {status}) => Vue.set(state, 'isInteractionEnabled', status)
},