【问题标题】:Dealing with nested/complex objects in vuex处理 vuex 中的嵌套/复杂对象
【发布时间】:2019-05-07 15:26:57
【问题描述】:

是否有熟悉 Vuex 和 Vue.js 的人可以帮助我编写一些代码?

要么给我建议,要么给我指出一些类似的情况来解决我的问题。

我有一个表示评论对象数组的评论部分(模块:cmets)。 每个评论都有一个'tags section', 'replies section',需要对突变做出反应并将突变存储在数据库中。

  • 选项 1:只有一个模块:cmets 包含所有实体的操作 (comments, tags, replies) - 将用不具代表性的操作填充 cmets 模块
  • 选项 2:拥有 'replies, tags' 和关联的动作作为组件 'replies section' and 'tags section' 的 vue 数据存在
  • 选项 3:此处描述 https://forum.vuejs.org/t/vuex-best-practices-for-complex-objects/10143/2,但我不知道是否需要为每个实体设置一个模块 (comments, replies, tags)

提到我的 API 返回嵌套对象:

`comments:[
  {
    id,
    title,
    text,
    replies: [{
      id,
      author: {id, name}
      comment_id,
      text
    }],
    tags: [similar with replies]
  },
//
]`

【问题讨论】:

    标签: javascript vue.js vuex


    【解决方案1】:

    如果您有很多关系/嵌套数据,我建议您尝试vuex-orm。它允许您在 Vuex Store 中使用关系规范化您的数据模式,就像您在常规数据库中表示它一样。它还与axiosGraphQL等有很多集成。

    【讨论】:

    • 我开始使用这个。有很多东西要学,给我的代码增加了更多的复杂性。我实现了自己的 vuex-orm-axios 插件,可以在操作后进行回调。语法更好,它均衡了前端和后端代码。现在我有类似 Comment.$fetch().onSuccess(extra actions using response)
    猜你喜欢
    • 2019-01-11
    • 2018-11-19
    • 2019-12-05
    • 2019-05-05
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 2020-02-20
    • 1970-01-01
    相关资源
    最近更新 更多