Существует два типа реализаций, которые я знаю и использовал в проектах.В зависимости от ваших требований, оба могут соответствовать вашему запросу:
Шина сообщений NGX
Базовая библиотека стиля "шина", позволяющая обмениваться сообщениями / событиями между компонентами или между всем вашим приложением.
https://www.npmjs.com/package/ngx-message-bus
Коммуникация / управление состоянием на основе Redux
В зависимости от масштаба вашего приложения (читай: если оно довольно большое), вас может заинтересовать Redux-библиотеки стилей, такие как NGRX , NGXS или Акита .Строго говоря, эти библиотеки - не просто системы обмена сообщениями, а проекты управления состоянием.Redux имеет много преимуществ (неизменяемое состояние, отслеживаемые действия и изменения состояния), но обычно также имеет кривую обучения.