Les nouveautés d'Angular 19 en 4 minutes

Angular 19 vient de sortir, et il y a beaucoup de nouveautés intéressantes : hydratation incrémentale, linkedSignal, l'API des ressources, et plein d'autres choses. Venez découvrir tout ça en moins de 4 minutes !

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

Chaque mois, recevez en avant-première notre newsletter avec les dernières actualités, tutoriels, astuces et ressources Angular directement par email !