角2:是否有一个eventaggregator?

时间:2019-04-16 08:46:12

标签: angular typescript events eventaggregator

我需要一个中央的,单例的Angular 2事件聚合器来进行跨组件/模块的通信。

是否有针对Angular 2(7.3.6)的事件聚合器,该事件聚合器为“ ready-to-go”并且可以与npm一起安装?

我见过很少的自定义实现,但是为此目的,我找不到任何“正式”或“广泛接受”的节点模块。

1 个答案:

答案 0 :(得分:2)

我知道并在项目中使用过两种实现。根据您的要求,两者都可以满足您的要求:

NGX消息总线

基本的“总线”样式库,使您可以在组件之间或整个应用程序之间交换消息/事件。

https://www.npmjs.com/package/ngx-message-bus

基于Redux的通信/状态管理

取决于应用程序的规模(阅读:如果它很大),您可能会对Redux样式的库感兴趣,例如NGRXNGXSAkita。严格来说,这些库不是纯粹的消息传递系统,而是状态管理项目。 Redux具有很多优点(不变的状态,可追踪的动作和状态变化),但通常也带有学习曲线。