EventEmitter против SharedService при общении 2 дочерних компонентов. Angular - PullRequest
1 голос
/ 27 февраля 2020

У меня есть приложение Angular, где у меня есть один родительский компонент и два дочерних компонента. У одного из детей есть некоторые данные о том, что другие дети должны быть отрисованы, et c. Я реализовал общий сервис с Observable, где дети один обновили данные, а дети два подписались на наблюдаемую, используя службу, и она работала хорошо.

Но потом я обсудил мою реализацию с моим боссом, и ему не понравилось Реализация sharedService, поэтому он предлагает мне связать детей через родительский компонент и использовать EventEmitter (@Input, @Output) так же, как изображение:

enter image description here

Дело в том, что, прежде чем вносить какие-либо изменения, я хотел бы знать, что внедрение лучше с точки зрения хорошей практики и производительности. Я ценю любую помощь.

1 Ответ

0 голосов
/ 27 февраля 2020

По моему мнению Observable всегда лучше общаться в вашем случае. Недостаток генератора событий заключается в том, что если между дочерним и существующим родительским компонентом добавляется новый компонент, вам снова нужно изменить код. Это не проблема службы Observable.

Служба Observable делает ваш компонент более активным по своей природе. Это как модель Pull vs Pu sh. С Event Emitter вы добиваетесь изменений, а с Observable - это всегда тяга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...