📚 Cheatsheet

Une collection organisée de snippets de code pour accélérer votre développement. Parcourez, recherchez et copiez en un clic.

Snippets 9

Retour
Routing - Configuration des routes
Facile
import { Routes } from '@angular/router';

const routes: Routes = [
  { path: 'accueil', component: HomeComponent },
  { path: 'a-propos', component: AboutComponent },
  { path: '', redirectTo: '/accueil', pathMatch: 'full' },
  { path: '**', component: PageNotFoundComponent } // Route Wildcard
];
Routing - Lien de navigation
Facile
<nav>
  <a routerLink="/accueil" routerLinkActive="active-link">Accueil</a>
  <a routerLink="/a-propos" routerLinkActive="active-link">À Propos</a>
</nav>
<router-outlet></router-outlet>
Routing - Navigation programmatique
Intermédiaire
import { Router } from '@angular/router';

constructor(private router: Router) { }

allerAuProfil(id: number) {
  this.router.navigate(['/utilisateurs', id]);
}
Routing - Passer des données à une route
Intermédiaire
const routes: Routes = [{
  path: 'accueil',
  component: HomeComponent,
  data: { titre: 'Page d\'accueil' }
}];
Routing - Récupérer un paramètre de requête
Intermédiaire
import { ActivatedRoute } from '@angular/router';

constructor(private route: ActivatedRoute) { }

ngOnInit() {
  const filtre = this.route.snapshot.queryParamMap.get('filtre');
}
Routing - Récupérer un paramètre de route
Intermédiaire
import { ActivatedRoute } from '@angular/router';

constructor(private route: ActivatedRoute) { }

ngOnInit() {
  const id = this.route.snapshot.paramMap.get('id');
}
Routing - Route Guard (CanActivate)
Avancé
@Injectable({ providedIn: 'root' })
export class AuthGuard implements CanActivate {
  canActivate(): boolean {
    // logique d'authentification...
    return true;
  }
}
Routing - Route Resolver
Avancé
@Injectable({ providedIn: 'root' })
export class UserResolver implements Resolve<User> {
  resolve(route: ActivatedRouteSnapshot): Observable<User> {
    const id = route.paramMap.get('id');
    return this.userService.getUser(id);
  }
}
Routing - Routes enfants
Avancé
const routes: Routes = [{
  path: 'utilisateurs/:id',
  component: UtilisateurComponent,
  children: [
    { path: 'profil', component: ProfilComponent },
    { path: 'parametres', component: ParametresComponent }
  ]
}];