Son astuce pour mieux se former

Plonge dans une interview inspirante et condensée de Gérôme Grignon, développeur frontend passionné et figure incontournable de la communauté Angular francophone.

Dans cet échange, Gérôme partage son parcours, ses conseils d'apprentissage, sa vision d'Angular et sa réflexion sur l'usage de l'IA dans le développement web.

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
  }
}