是否有vue组件的Communication Manager?

时间:2017-12-04 19:52:46

标签: express vue.js

我现在是Vue.js的一个项目,并创建并使用了很多组件。 现在我开始遇到需要跟踪的太多的eventemitters和道具的问题。

我想用最好的例子说明问题:

假设您有一个main.vue和2或3个组件。 一个按钮应该操作其他2个组件或将其切换出来。

现在我需要向main.vue发出一个事件,然后main.vue必须更改一个绑定变量并将props传递给其他两个组件。 好吧:现在让我们将按钮放在组件的一个组件中。您需要确保父母和孩子之间的每个链接都是正确的。

现在创建一个项目并在另一个组件中放置一个按钮,你必须改变一切。

那么有一个避免这种情况的好方法吗? 像广播功能,以便每个组件都接收事件? 还是处理所有组件通信的经理?

1 个答案:

答案 0 :(得分:2)

使用通量模式(vuex

首先,您可能认为这并没有真正回答这个问题,因为它涉及数据存储,而不处理事件。通量模式通过创建所有组件可以读取和写入的单个存储(思考数据库)来更改应用程序的体系结构。与反应性框架(例如vue(或反应))的反应性质相结合,组件将对数据的变化做出反应。因此,不是通过AD将组件BC紧密耦合,而是让组件A侦听对象{{1}中的突变}}和组件X对对象D进行更改。当更改发生时,组件X会更新,而不必听取任何子项的A函数触发。起初它似乎令人生畏,但投资是值得的。