Як обмінюватися даними між компонентами в Angular за допомогою Subject для комунікації в реальному часі.

переклад

Subject в Angular (і RxJS) — це як посланець. Він дозволяє вам надсилати повідомлення (дані) до різних частин вашого додатку, і інші частини можуть слухати ці повідомлення.

Розуміння Subject.

Уявіть, що у вас є магічна коробка (це ваш Subject). У цієї коробки є дві суперсили:

  1. Ви можете покласти щось всередину — наприклад, повідомлення або дані — коли завгодно. Це схоже на надсилання інформації іншим частинам вашого додатку.
  2. Інші можуть слухати коробку — коли ви покладете щось всередину, всі, хто слухає, миттєво отримають це повідомлення.

Це означає,

Subject — це тип Observable в RxJS, потужній бібліотеці, яка використовується в Angular для обробки асинхронних подій. Він унікальний тим, що є одночасно і Observable (до чого можна підписатися), і Observer (до чого можна надсилати дані).

  • Надсилати дані: Ви можете викидати значення в Subject за допомогою методу .next(), що дозволяє іншим частинам вашого додатку отримувати ці дані.
  • Слухати дані: Інші компоненти або сервіси можуть підписатися на Subject, щоб слухати передані значення, забезпечуючи оновлення в реальному часі або обмін даними за допомогою методу .subscribe().

Давайте перейдемо до коду.

Уявіть, що у вас є два компоненти: Home і User.

Перекладено з: How to Share Data Between Components in Angular Using Subject for Real-Time Communication.