Aula 07: Roteamento (Abordagem Clássica) 🛣️
Nesta aula, vamos aprender como transformar nossa Single Page Application em um site multipágina usando o Angular Router.
📍 O que é o Roteamento?
O roteamento permite que o usuário navegue entre diferentes visualizações (URL /home, /contato) sem que o navegador faça um "refresh" total.
graph LR
URL[URL do Browser] --> R[Router]
R --> |/home| C1[HomeComponent]
R --> |/produtos| C2[ProdutosComponent]
R --> |/vazio| C3[NotFoundComponent]
🛠️ Configuração Básica (app-routing.module.ts)
Na abordagem clássica, definimos um array de rotas.
🏠 Exibindo as Rotas: router-outlet
Para indicar ao Angular onde os componentes das rotas serão renderizados, usamos a tag <router-outlet>.
🔗 Navegando: routerLink
Não usamos href para links internos! Usamos a diretiva routerLink para que o Angular controle a navegação.
🆔 Parâmetros de Rota
Podemos passar valores dinâmicos na URL (ex: /produto/123).
- Definição:
{ path: 'produto/:id', component: DetalheComponent } - Captura: Usamos o serviço
ActivatedRoutepara ler o ID.
🚀 Prática: Site Institucional
Vamos criar um site com 3 páginas: 1. Home: Boas-vindas. 2. Sobre: Descrição da empresa. 3. Contato: Um formulário de contato.
Adicione um menu de navegação que permita transitar entre elas sem recarregar o browser.
🏁 Mini-Projeto da Aula
Crie um catálogo de filmes. Teremos duas rotas: /filmes (lista todos) e /filme/:id (mostra o detalhe do filme clicado). No componente de detalhe, exiba o ID recebido da URL para confirmar que o roteamento está funcionando.