Vue-使用vuex代替eventbus进行嵌套数据和组件的计算

时间:2019-04-19 17:27:30

标签: vue.js reference vue-component state vuex

当将大的JSON对象绑定到组件中,然后将这个对象的某些部分绑定到下一个组件中时,我有一个应用程序。-它的结构具有许多深层次,但是没有复制对象,我利用了对象通过引用传递的优势。 / p>

最低级别的组件具有“价格”,“数量”等字段。当用户对其进行修改时,我更新了对象并使用全局事件总线运行重新计算-重新计算完成后,我还使用事件总线来强制更新某些组件。例如,这些父母的价格/ qt字段刷新类别中的“总计”金额。

现在,我将一些代码移至vuex并在此处考虑。认为提交后重新计算就可以了。问题是-如何使用子组件的提交来修改这个大对象?问题是提交必须“知道”对象的哪一部分已被修改(例如,许多类别之一中的一个元素)...我可以用其他方式做到这一点,在提交中传递子项和父项数据并更新父项,但是...行得通吗?我还需要参考以正确的方式执行此操作...

也许仍然使用绑定来传递元素,但是调用存储操作仅进行重新计算(不确定,这将在所有必需的模块上提供自动刷新)。 也许还有其他更好的解决方案?

1 个答案:

答案 0 :(得分:0)

我认为您在体系结构方面存在一些问题。这里的主要思想是拥有一些与商店(vuex)结合在一起的容器(智能)组件以及一些简单的(愚蠢的)组件,它们可以从道具中获取数据。另外,您必须将商店划分为多个模块,以便于维护。这种方法将使您可以精确地修改所需的数据。