Como corrigir o redirecionamento de rotas no Angular
Algumas pessoas tiveram problemas ao redirecionar a rota para a página de Login novamente ao verificar que o localStorage.getItem('email') está vazio a tela ficava branca e não redirecionava, então eu fiz da seguinte forma:
O arquivo autenticar.guard.ts ficou assim
import { CanActivateFn, Router } from '@angular/router';
export const autenticarGuard: CanActivateFn = (route, state) => {
// Importar a classe Router
const rota = new Router;
// Validação
if(localStorage.getItem('email') == undefined){
rota.navigateByUrl('/login');
return false
}
// Retorno
return true;
};
Assim automaticamente ele redireciona para a página de Login caso não exista um E-mail salvo no localStorage.
Detalhe, se eu deixar somente o return false dentro do if ele não faz o redirecionamento deixando a página em branco.
Matheus Panobianco @matheus_panobiancoNo meu caso o return que estava como false. Fui testar durante a aula e acabei esquecendo de mudar.
Em resposta aMarcusVogado⬆:Gabriel Torres Ribeiro do nascimento @gabrieltrnno meu aqui resolveu de boa, vlw pela ajuda
Em resposta aMarcusVogado⬆:Marcele Eller Gusmão Moura @marceleellerAjudou aqui! Tive que assistir sem acompanhar as resoluções e agora quando estava assistindo novamente a aula gravada tive esse problema. Obrigada!