En aquest tema, aprendrem com configurar rutes en una aplicació Angular per permetre la navegació entre diferents components. Les rutes són una part fonamental de qualsevol aplicació web moderna, ja que permeten als usuaris moure's entre diferents vistes o pàgines de l'aplicació.
Objectius
- Entendre el concepte de rutes en Angular.
- Configurar rutes bàsiques en una aplicació Angular.
- Utilitzar el mòdul
RouterModule
per gestionar la navegació. - Crear enllaços de navegació utilitzant la directiva
routerLink
.
Conceptes Clau
Què és una ruta?
Una ruta en Angular és una associació entre una URL i un component. Quan l'usuari navega a una URL específica, Angular carrega el component associat a aquesta URL.
Mòdul RouterModule
El mòdul RouterModule
proporciona les eines necessàries per configurar i gestionar les rutes en una aplicació Angular. Aquest mòdul s'importa des del paquet @angular/router
.
Configuració de rutes bàsiques
Pas 1: Instal·lació del mòdul de rutes
Primer, assegura't que el mòdul de rutes està instal·lat en el teu projecte Angular. Normalment, aquest mòdul ja està inclòs en les noves aplicacions Angular creades amb Angular CLI.
Pas 2: Definició de les rutes
Defineix les rutes en el fitxer de mòdul principal (normalment app.module.ts
o un mòdul de rutes dedicat).
import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { HomeComponent } from './home/home.component'; import { AboutComponent } from './about/about.component'; const routes: Routes = [ { path: '', component: HomeComponent }, { path: 'about', component: AboutComponent } ]; @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class AppRoutingModule { }
Pas 3: Importació del mòdul de rutes
Importa el mòdul de rutes en el mòdul principal de l'aplicació (app.module.ts
).
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { HomeComponent } from './home/home.component'; import { AboutComponent } from './about/about.component'; @NgModule({ declarations: [ AppComponent, HomeComponent, AboutComponent ], imports: [ BrowserModule, AppRoutingModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
Pas 4: Creació de components
Crea els components que es mostraran quan l'usuari navegui a les rutes definides.
// home.component.ts import { Component } from '@angular/core'; @Component({ selector: 'app-home', template: `<h1>Home</h1><p>Welcome to the home page!</p>` }) export class HomeComponent { } // about.component.ts import { Component } from '@angular/core'; @Component({ selector: 'app-about', template: `<h1>About</h1><p>Learn more about us on this page.</p>` }) export class AboutComponent { }
Pas 5: Utilització de routerLink
per a la navegació
Utilitza la directiva routerLink
en les plantilles per crear enllaços de navegació.
<!-- app.component.html --> <nav> <a routerLink="/">Home</a> <a routerLink="/about">About</a> </nav> <router-outlet></router-outlet>
Explicació del codi
- Definició de rutes: Hem definit dues rutes: una per a la pàgina d'inici (
HomeComponent
) i una altra per a la pàgina "About" (AboutComponent
). - Importació del mòdul de rutes: Hem importat
RouterModule
iRoutes
des de@angular/router
i hem configurat les rutes utilitzantRouterModule.forRoot(routes)
. - Creació de components: Hem creat dos components senzills (
HomeComponent
iAboutComponent
) que es mostraran quan l'usuari navegui a les rutes corresponents. - Navegació: Hem utilitzat la directiva
routerLink
per crear enllaços de navegació en la plantilla principal (app.component.html
). El componentrouter-outlet
actua com a contenidor per als components que es carreguen en funció de la ruta actual.
Exercici Pràctic
Exercici
- Afegeix una nova ruta per a un component "Contact" que mostri un missatge de contacte.
- Crea el component "Contact".
- Afegeix un enllaç de navegació per a la pàgina de contacte en la plantilla principal.
Solució
Pas 1: Definició de la nova ruta
// app-routing.module.ts import { ContactComponent } from './contact/contact.component'; const routes: Routes = [ { path: '', component: HomeComponent }, { path: 'about', component: AboutComponent }, { path: 'contact', component: ContactComponent } ];
Pas 2: Creació del component "Contact"
// contact.component.ts import { Component } from '@angular/core'; @Component({ selector: 'app-contact', template: `<h1>Contact</h1><p>Contact us at [email protected]</p>` }) export class ContactComponent { }
Pas 3: Afegeix l'enllaç de navegació
<!-- app.component.html --> <nav> <a routerLink="/">Home</a> <a routerLink="/about">About</a> <a routerLink="/contact">Contact</a> </nav> <router-outlet></router-outlet>
Resum
En aquesta secció, hem après com configurar rutes bàsiques en una aplicació Angular. Hem vist com definir rutes, crear components associats a aquestes rutes i utilitzar la directiva routerLink
per a la navegació. Aquestes habilitats són fonamentals per crear aplicacions Angular amb múltiples vistes i una navegació fluida.
Curs d'Angular 2+
Mòdul 1: Introducció a Angular
- Què és Angular?
- Configuració de l'entorn de desenvolupament
- La teva primera aplicació Angular
- Arquitectura d'Angular
Mòdul 2: Conceptes bàsics de TypeScript
- Introducció a TypeScript
- Variables i tipus de dades en TypeScript
- Funcions i funcions fletxa
- Classes i interfícies
Mòdul 3: Components i plantilles
Mòdul 4: Directives i pipes
Mòdul 5: Serveis i injecció de dependències
Mòdul 6: Enrutament i navegació
Mòdul 7: Formularis en Angular
Mòdul 8: Client HTTP i observables
- Introducció al client HTTP
- Realització de sol·licituds HTTP
- Gestió de respostes HTTP
- Ús d'observables