我需要一个中央的,单例的Angular 2事件聚合器来进行跨组件/模块的通信。
是否有针对Angular 2(7.3.6)的事件聚合器,该事件聚合器为“ ready-to-go”并且可以与npm一起安装?
我见过很少的自定义实现,但是为此目的,我找不到任何“正式”或“广泛接受”的节点模块。
答案 0 :(得分:2)
我知道并在项目中使用过两种实现。根据您的要求,两者都可以满足您的要求:
基本的“总线”样式库,使您可以在组件之间或整个应用程序之间交换消息/事件。
https://www.npmjs.com/package/ngx-message-bus
取决于应用程序的规模(阅读:如果它很大),您可能会对Redux样式的库感兴趣,例如NGRX,NGXS或Akita。严格来说,这些库不是纯粹的消息传递系统,而是状态管理项目。 Redux具有很多优点(不变的状态,可追踪的动作和状态变化),但通常也带有学习曲线。