Eu tenho um ListComponent. Quando um item é clicado em ListComponent, os detalhes desse item devem ser mostrados em DetailComponent. Ambos estão na tela ao mesmo tempo, então não há roteamento envolvido.
Como posso informar a DetailComponent qual item em ListComponent foi clicado?
Considerei emitir um evento para o pai (AppComponent) e fazer com que o pai definisse selectedItem.id em DetailComponent com um @Input. Ou eu poderia usar um serviço compartilhado com assinaturas observáveis.
EDIT: Definir o item selecionado via evento + @Input não aciona o DetailComponent, no caso de eu precisar executar código adicional. Portanto, não tenho certeza se essa é uma solução aceitável.
Mas ambos os métodos parecem muito mais complexos do que a maneira Angular 1 de fazer as coisas, que era por meio de $ rootScope. $ Broadcast ou $ scope. $ Parent. $ Broadcast.
Como tudo no Angular 2 é um componente, estou surpreso que não haja mais informações disponíveis sobre a comunicação de componentes.
Existe outra maneira / mais simples de fazer isso?