如何将一个响应分成几个Vuex模块?

时间:2019-07-14 21:40:35

标签: vue.js vuex

我正在构建一个小型的Vue / Vuex / Rails应用程序,并试图找出处理这种情况的最佳方法。

在登录或刷新页面时,我有一个mixin用于检查currentUser是否处于状态。如果不是,它将运行对我的api的调用以检索currentUser以及该用户的深层嵌套关系。像这样:

currentUser: {
    ...user data
    groups: [
        categories: [
            items: [
                ...item data
            ]  
        ],
    ],
}

该api调用位于user.module.js中。我的问题是,不是将整个用户对象及其所有嵌套数据存储在用户状态下,而是可以将所有数据拆分成单独的模块(例如:groups.module.jscategories.module.jsitems.module.js)?

这将使我可以直接进入items.module.js中的项目,从而进行更简单的操作和更改。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

是的,绝对应该将它们分成多个模块,否则,您的数据结构将变得非常难以处理和理解。定义了模块的结构后,在获取user数据后,您可以dispatchactions到每个模块来填充它们的状态。 我创建了一个codepen来显示给您。