Angular 2: compartilhamento de dados em diferentes rotas

Procurei perguntas semelhantes no SO e não encontrei nenhuma que abordasse meu caso específico. Existem muitas técnicas para compartilhar dados entre componentes angulares e li este artigo sobre comunicação de componentes:https: //angu,lar.io/docs/ts/latest/cookbook/component-communication.html

No entanto, nenhuma das técnicas descritas lá funciona para mim, porque meus componentes estão em rotas diferentes. O artigo descreve principalmente a comunicação do componente pai-filho e alguns casos podem funcionar para componentes irmãos, desde que ambos sejam carregados ao mesmo tempo.

Meu caso é muito parecido com o tutorial do Angular 2 Heroes: Eu tenho uma rota que exibe uma tabela com uma lista de clientes (em vez de heróis). Quando o usuário clica em um cliente específico, aciono uma alteração de rota para exibir um formulário com os dados do cliente selecionado (em vez de herói).

O tutorial de heróis executa uma invocação de serviço para recuperar os dados de heróis selecionados, mas quero evitar uma chamada AJAX adicional inútil, pois esses dados já estão na memória. Eu só quero passar os dados do cliente selecionados para o componente do formulário do cliente, para que sejam exibidos imediatamente.

Estou pensando em um serviço de "sessão global" em que eu poderia armazenar e recuperar qualquer objeto que desejar, mas não tenho certeza de que seja uma boa idéia. Existem outras abordagens mais adequadas?

questionAnswers(3)

yourAnswerToTheQuestion