我试图弄清楚状态模块化后重置如何与VueX存储一起工作。 这是我的VueX结构:
└── store
├── index.js
└── module-cart
├── index.js
├── actions.js
├── mutations.js
├── state.js
├── getters.js
所以我想将此当前模块的状态重置为原始状态。
我在module-cart/mutations.js
文件中创建了以下突变:
import initialState from './state.js';
export default {
resetState(state) {
Object.assign(state, initialState);
}
}
因此,我从state.js文件中将该模块的状态导入为initialState,并尝试在组件中将其设置回初始状态。
问题是它没有恢复到初始状态,触发了突变时状态保持不变。
这是我的module-cart/state.js
文件:
export default function () {
return {
fileName: "",
sheetName: "",
}
}
还有module-cart/index.js
:
import state from './state'
import getters from './getters'
import mutations from './mutations'
import actions from './actions'
export default {
namespaced: true,
state,
actions,
mutations,
getters
}
我认为我缺少一些东西,但不确定。如何在此模块的这种VueX结构中设置初始状态和工作状态?
答案 0 :(得分:1)
似乎您正在从module-cart/state.js
导出函数。您应该调用它以获取默认对象。
import initialState from './state.js';
export default {
resetState(state) {
Object.assign(state, initialState());
}
}
通知我打initialState
。