Replay

Apprendre Angular en 1h

Je me donne un objectif: vous faire découvrir et apprendre Angular en 1 heure: composant, syntaxe dans les templates, les directives, les signaux, les routeurs, les services, l'injection de dépendances, les observables et les requêtes HTTP. Le nécessaire pour faire une application Angular !.

Skip to content

Vous souhaitez recevoir de l'aide sur ce sujet ? rejoignez la communauté Angular.fr sur Discord.

Maîtriser @switch dans les templates Angular

@switch est un nouveau contrôle de flux introduit dans Angular pour remplacer la directive *ngSwitch. Cette nouvelle syntaxe offre une approche plus claire et plus performante pour gérer les conditions multiples dans vos templates.

Compatibilité

@switch est une syntaxe introduite dans Angular 17. Si vous utilisez une version antérieure, vous devez utiliser *ngSwitch.

Migration

Si vous souhaitez migrer des syntaxes, utilisez la commande:

bash
ng g @angular/core:control-flow-migration

Exemple de base

typescript
import { Component } from '@angular/core';
import { User } from './user';

@Component({
  selector: 'app-user-role',
  standalone: true,
  template: `
    <h2>Panneau utilisateur</h2>
    @switch (userRole) {
      @case ('admin') {
        <div class="admin-panel">
          <h3>Panneau Administrateur</h3>
          <p>Accès complet au système</p>
        </div>
      }
      @case ('manager') {
        <div class="manager-panel">
          <h3>Panneau Manager</h3>
          <p>Accès à la gestion d'équipe</p>
        </div>
      }
      @default {
        <div class="user-panel">
          <h3>Panneau Utilisateur</h3>
          <p>Accès limité</p>
        </div>
      }
    }
  `
})
export class UserRoleComponent {
  userRole: string = 'admin';
}
ts
export interface User {
    id: number;
    name: string;
    username?: string;
    email: string;
    address?: {
        street: string;
        suite: string;
        city: string;
        zipcode: string;
        geo: {
            lat: string;
            lng: string;
        }
    };
    phone?: string;
    website?: string;
    company?: {
        name: string;
        catchPhrase: string;
        bs: string;
    };
}

Syntaxe générale

Structure de base

La structure complète d'un @switch comprend :

angular-html
@switch (expression) {
  @case (valeur1) {
    // Code pour valeur1
  }
  @case (valeur2) {
    // Code pour valeur2
  }
  @default {
    // Code par défaut
  }
}