1
resposta

Qual seria a melhor alternativa para partilhar dados entre componentes?

Boa noite, estou gostadno deste curso de Angular, e espero aprender cada vez mais.

A minha questão é a seguinte: Qual seria a melhor alternativa para partilhar dados entre componentes? Usando EventEmitter output ou input?

Notei que criando um serviço o código fica mais clean e a separação das responsabilidades estão top.

1 resposta

Olá, Gelson! Tudo bem?

Ótima pergunta!

As soluções resolvem problemas diferentes.

Se você quer compartilhar dados entre componente-pai e componente-filho, @Input e @Output funcionam bem, é mais simples. Não vale a pena criar um service para facilitar a comunicação de apenas dois componentes.

Agora, com os services você pode transmitir dados para vários componentes. Por exemplo, pense em uma rede social, um service de usuário é ideal, porque vários componentes precisam dessa informação.

Por isso, é difícil dizer qual é o ideal, pois depende da situação. @Input e @Output são soluções simples para problemas simples, e services são soluções complexas para problemas complexos. Durante o desenvolvimento de uma aplicação, você acabará utilizando ambos.

Espero ter ajudado!