Como compartilhar dados entre componentes no Angular 2?

No Angular 1.x.x, você simplesmente solicita o mesmo serviço e acaba com a mesma instância, possibilitando o compartilhamento dos dados no serviço.

Agora no Angular 2 eu tenho um componente que tem uma referência ao meu serviço. Eu posso ler e modificar os dados no serviço, o que é bom. Quando tento injetar o mesmo serviço em outro componente, parece que recebo uma nova instância.

O que estou fazendo errado? É o próprio padrão que está errado (usando um serviço para compartilhar dados) ou preciso marcar o serviço como um singleton (dentro de uma instância do aplicativo) ou algo assim?

Estou dentro2.0.0-alpha.27/ btw

Eu injeto um serviço atravésappInjector (editar: agoraproviders) no@Component anotação e salve uma referência no construtor. Ele funciona localmente no componente - apenas não entre componentes (eles não compartilham a mesma instância de serviço) como eu pensava.

ATUALIZAR: A partir do Angular 2.0.0, agora temos o @ngModule onde você definiria o serviço sob oproviders propriedade em dito@ngModule. Isso garantirá que a mesma instância desse serviço seja passada para cada componente, serviço etc. nesse módulo.https://angular.io/docs/ts/latest/guide/ngmodule.html#providers

questionAnswers(5)

yourAnswerToTheQuestion