这是一个有点主观的问题,但我想收集一些意见,以检查我的想法是否正确。
从嵌套组件引发事件时,MessageBus方法在什么时候比冒泡事件更可取?
采用以下示例,用户可以选择从网格中删除卡片:
如果我们将其布局为:
grid.component
├── card.component
│ ├── image.component
│ ├── text.component
│ ├── closebutton.component
如果我想在网格组件中处理关闭按钮的单击事件,我需要将事件从关闭通过卡,然后到网格(请注意:这不是一个非常复杂的例子)这个,但我希望它很容易遵循。)
或者,我可以将一些类似MessageBus的东西实现为我的组件的单例/提供者,这可以引发和监听消息。我可以从" X"按钮并在树顶听它。这意味着我不必担心将事件链接在一起,并保持布局更清晰。
这里每种方法的优缺点是什么?
编辑:我看到基于"基于意见的"题;但我想在这里直接回答每种方法的优缺点,而不是建议首选方案。谢谢!
编辑2:与我自己的感受(以及评论中表达的感受)相反,我发现this in the Angular2 documentation这似乎意味着Messaging服务是受支持的选项......