【发布时间】:2019-04-13 16:20:24
【问题描述】:
我一直在尝试将我的 store.js 文件分成多个商店模块。我让它工作(有点),但它也产生了一个大问题。
在我最初的单个文件存储中,假设这是我的状态对象:
state: { user: '' }
Vuex 开发者工具中的输出显示了用户对象应该是这样的:
User: { name: "John", age: 33 }
但是将 store 拆分为模块后,Vuex 开发者工具中的 user 对象如下:
User: { User: { name: "John", age: 33 } }
所以它使用我在模块对象中给它的名称创建一个新对象,并导入到主 store.js 文件中,然后包含“真正的”用户对象。
有没有办法让它不创建新对象并保持它就像整个商店都存在于 store.js 文件中一样?
-塞尔吉奥
编辑:
这是我的文件的结构:
store
store.js
modules
user.js
modules/user.js 中的代码:
const state = { User: '' }
const mutations = { ... }
const actions = { ... }
export default { state, mutations, actions }
我的 store.js 中的代码
import User from './modules/user';
Vue.use(Vuex);
export default new Vuex.Store({
modules: {
User
}
});
在外部化商店之前,我会在 Vuex 开发工具中获得:
User: { name: "John", age: 33 }
外部化商店后,我得到:
User: { User: { name: "John", age: 33 } }
它是从 modules/user 文件中的 User 嵌套在 store.js 文件中的 User 中的。我想避免这种情况(如果可能的话),这样我就不必更改组件/模板文件中的所有内容。
【问题讨论】:
-
但是你是怎么做这个任务的?
-
嗨汉密尔顿,我不明白你的问题...请你改写一下。
-
你在什么时候做这个任务?这项任务是如何完成的?您是否多次调用此作业?
-
我已经更新了我最初的问题,希望它能澄清更多。
-
你是在vuex中重新分配用户,还是你自己做?