No internet connection
  1. Home
  2. Dúvidas Gerais

Como corrigir o redirecionamento de rotas no Angular

Por MARCUS VOGADO @MarcusVogado
    2023-12-07 01:39:43.179Z

    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.

    • 3 respostas
    1. No meu caso o return que estava como false. Fui testar durante a aula e acabei esquecendo de mudar.

      1. Em resposta aMarcusVogado:

        no meu aqui resolveu de boa, vlw pela ajuda

        1. Em resposta aMarcusVogado:

          Ajudou aqui! Tive que assistir sem acompanhar as resoluções e agora quando estava assistindo novamente a aula gravada tive esse problema. Obrigada!