3
respostas

Evento inesperado quando aperto o botão de voltar no navegador

Os titles estão sendo setados de forma correta. Porém, há um "bug" acontecendo. Quando faço login, sou redirecionado para a timeline e o title fica como timeline. Se eu clico em voltar, no navegador, eu continuo na timeline. Pois estou loggado e não posso acessar os components de Signin e Signup. Tudo certo, até aí. Todavia, mesmo continuando na timeline, o title da página muda pra Signin e continua mudando se eu clicar de novo em voltar. Como resolver isso?

3 respostas

Fala ai Pedro, tudo bem? Você vai precisar aplicar uma condicional na hora de setar os titles das páginas e também poderia fazer algumas verificações para não permitir que seja possível navegar até o componente SignIn caso já esteja logado.

Acho que dá para fazer com os Guard's:

https://imasters.com.br/desenvolvimento/angular-6-route-guards

Espero ter ajudado.

Sim, já existem guards impedindo a navegação. Mas mesmo assim, o title muda. Não entendi o porquê, já que o guard redireciona para timeline. Dessa forma, o title deveria continuar como timeline.

Enfim, que tipo de condicional seria essa?

Precisa ver como são esses Guards, a ideia é que você tenha dois, um para rotas privadas onde ele não vai deixar acessá-las quando não está autenticado e outro para rotas públicas onde ele não vai deixar acessá-las quando já está logado.

A ideia seria que a página de login e demais públicas utilizem o Guard público e as demais rotas utilizem o Guard privado.

Você também pode injetar o serviço responsável pela injeção do token e antes de atualizar o título você verifica se já está logado ou não.

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software