Я работал над веб-приложением в Angular 2+. и у меня следующая ситуация
component A
|
component B
|
component C
|
component D //click on button -> call apis and return value to component A's variable
В component D
есть кнопка, если пользователь нажимает на это, нам нужно вызвать rest API, и результат этого API должен быть показан в component A
.
Бизнес-кейс: учтите, что component A
- ваш верхний заголовок, который содержит количество точек и форму component D
пользователь выполняет какую-то задачу, и в зависимости от этой задачи мне нужно увеличить эти точки.
I может достичь этой функциональности с помощью службы широковещания в angular Subject<BroadcastEvent>
(после возврата значения API создать широковещание и в компоненте A я перечисляю это событие), но я не уверен, что если есть лучший способ сделать это. Или я не могу использовать один и тот же сервис в обоих компонентах, потому что мне нужно назначить значение в переменной, а также в шоу в DOM. Если мне нужно обновить только элемент DOM, то сервис может решить мою проблему, но мне также нужна переменная компонентов.