Как я могу передавать данные между родственными компонентами в Angular? - PullRequest
0 голосов
/ 22 мая 2019

Я создаю приложение электронной коммерции с Angular, мне интересно, как я могу передать общую сумму из компонента ShoppingCart в компонент Checkout. Два компонента - брат и сестра. Я видел несколько способов сделать это, например, BehaviourSubject и NavigationExtras, но я не знаю, являются ли они хорошей практикой.

Ответы [ 2 ]

1 голос
/ 22 мая 2019

Вы можете использовать сервис для обмена данными. Если у вас сложный вариант использования, когда данные используются повсеместно, и многие компоненты могут вносить изменения, тогда многие должны рассматривать процесс управления состоянием как избыточный.

0 голосов
/ 22 мая 2019

Маттео лучшее решение для меня - это Тема . Логика такова:

  1. Создать тему в отцовском ngOnInit() (создать канал)
  2. Передать тему братьев и сестер (войдите в братьев и сестер в канале)
  3. В ngOnInit () брата вы можете зарегистрировать брата в канале
  4. Когда вы нажимаете кнопку «Оформить заказ», вы можете уведомить компонент, прослушивающий канал, с общей суммой.
  5. уничтожить канал и отменить регистрацию компонента
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...