Roteador
O Angular gera uma aplicação "single page", e o roteador é um componente importantíssimo neste contexto. O roteador permite com que a aplicação não seja totalmente recarregada quando se troca de página.
O que o roteador faz? Em resumo:
Providencia um componente
<router-outlet>
;
Exemplo: No boilerplate padrão do Angular, o <router-outlet>
é elemento único do componente raiz.
Solicita a configuração de um mapeamento entre URLs e:
Componentes ou;
Grupos de subrotas ou;
Módulos com subroteadores ou;
Redirecionamentos;
Exemplo
Sempre que um URL é alterado (ou no carregamento inicial de uma página), o componente correspondente é carregado no "outlet";
Fornece os serviços a seguir que podem ser injetados:
ActivatedRoute
pra determinarmos informações sobre o estado do roteador. Como: qual rota está ativada? Quais os parâmetros de URL?Router
, que é usado pra controlar o roteador (ir para...);
O uso de links padrão do HTML (
<a href="/page"/>
) não é amigável pra SPA's pois fazem recarregar a página toda; Deve ser usada ao invés disso a diretivarouterLink
fornecida pelo roteador.
Subroteadores e múltiplos outlets: Conforme apontado anteriormente, é possível haver "roteadores filho". Neste caso haverá no HTML um
<router-outlet>
dentro de outro. Há também funcionalidade avançada onde um roteador pode controlar múltiplos outlets.
Mais informações no (extenso) guia do roteador.
Last updated