将Flux(vuex)商店与全球活动总线相结合?

时间:2017-05-23 15:13:21

标签: vue.js flux vuex

我正在使用Vuex& Vuejs(通量架构师)用于CRM单页面应用程序。 在联系页面中,我显示了与当前联系人相关的任务列表,在侧边栏中,我有一个当前登录用户的任务列表。

这些任务集合保存在不同的商店中。我不知道哪个是最佳解决方案:

  1. 更新发布请求后,在列表和更新任务对象中搜索,如果它存在并且发生变异状态。
  2. 更新发布请求后,请使用全局事件总线,并且每个商店都应该监听并更新任务对象(如果需要)。

1 个答案:

答案 0 :(得分:2)

这实际上取决于您的要求,但我能说的一件事是,使用两个独立的商店+公共汽车正在打败Redux的整个目的。

如果您的应用程序中的任务共享相同的范围,并且可以分配给您或您可能正在访问/管理的其他用户,则可以从您的范围(例如您的团队)获取所有任务并将其显示在使用具有Array.filter函数的不同getter的不同地方。

如果任务的数量太大而无法全部加载,我会在商店中执行单个任务列表,从单个网址填充。

即:   - 给我所有的任务+我正在管理的当前用户的任务   - 给我所有的任务+与此搜索相匹配的任务

如果要求更复杂并且可能令人困惑,这可能会变得混乱。但是如果可能的话,尝试使用一个单独的存储来构建应用程序并避免使用总线,因为它仅适用于小型应用程序。