BTS SIO2D
  • Accueil
  • Connexion
25 octobre 2024 par Hugo Bourgeois

IV) Introduction à la syntaxe @let dans Angular 18.1

IV) Introduction à la syntaxe @let dans Angular 18.1
25 octobre 2024 par Hugo Bourgeois

Table des matières

Toggle
  • Tout savoir sur la nouvelle syntaxe @let dans Angular 18.1
    • 1. Qu’est-ce que @let et pourquoi c’est utile ?
    • 2. Quelques exemples concrets d’utilisation
      • 🔹 Exemple 1 : Variable statique
      • 🔹 Exemple 2 : Utilisation avec un élément DOM
      • 🔹 Exemple 3 : Utilisation avec un Observable (pipe async)
    • 3. Ce qu’il faut savoir sur @let
    • 4. La syntaxe @let en détail
    • 5. Conclusion : un vrai gain de simplicité !

Tout savoir sur la nouvelle syntaxe @let dans Angular 18.1

Avec la version 18.1 d’Angular, une nouvelle fonctionnalité fait son apparition pour simplifier la vie des développeurs : la syntaxe @let. Jusqu’à présent, déclarer une variable dans un template et la réutiliser plusieurs fois demandait des solutions parfois lourdes. Grâce à @let, c’est désormais plus simple et plus naturel !


1. Qu’est-ce que @let et pourquoi c’est utile ?

Lorsque vous souhaitez stocker une valeur ou le résultat d’une expression dans un template Angular, il fallait souvent passer par du TypeScript ou utiliser des directives comme *ngIf ou *ngFor. Avec @let, plus besoin de ces contournements !

Désormais, vous pouvez simplement déclarer une variable directement dans le template et l’utiliser plusieurs fois sans complexité.

Exemple minimaliste :

@let name = ‘Frodo’;
<h1>Bienvenue, {{ name }}</h1>

Plus simple, plus lisible, et plus efficace !

 

2. Quelques exemples concrets d’utilisation

🔹 Exemple 1 : Variable statique

@let name = ‘Frodo’;
<h1>Bienvenue sur votre tableau de bord, {{ name }}</h1>

 

🔹 Exemple 2 : Utilisation avec un élément DOM

<input #name>
@let greeting = ‘Bonjour ‘ + name.value;
<p>{{ greeting }}</p>

👉 Ici, la variable greeting récupère dynamiquement la valeur de l’input.

🔹 Exemple 3 : Utilisation avec un Observable (pipe async)

@let user = user$ | async;
<p>Utilisateur connecté : {{ user?.name }}</p>

👉 @let permet d’extraire directement la valeur d’un Observable sans devoir utiliser *ngIf="user$ | async as user".

 

3. Ce qu’il faut savoir sur @let

🔹 Portée limitée

  • Une variable définie avec @let est accessible uniquement dans le template où elle est déclarée et ses enfants.
  • Elle ne peut pas être utilisée dans une autre vue ou un autre bloc.

Exemple :

@let topLevel = value;

<if (condition)>
@let nested = value; <!– Cette variable ne fonctionne que dans ce bloc –>
</if>

<div *ngIf= »condition »>
@let nestedNgIf = value; <!– Accessible uniquement dans ce div –>
</div>

🔹 Lecture seule

  • Une fois une variable déclarée avec @let, elle ne peut pas être modifiée directement dans le template.
  • Elle est recalculée automatiquement à chaque mise à jour des données.

Exemple d’erreur :

@let value = 10;

<button (click)= »value = value + 1″>Changer la valeur</button> <!– Erreur –>

👉 Angular renverra une erreur, car value est en lecture seule.

 

4. La syntaxe @let en détail

La déclaration suit une syntaxe ultra simple :

✅ Structure de base :

@let variable = expression;

✅ Règles à respecter :

  • Nom valide pour la variable.
  • Expression assignée après le = (peut être une valeur statique ou une expression dynamique).
  • Point-virgule ; obligatoire en fin de déclaration.

Exemple :

@let userName = ‘Alice’;
@let total = price * quantity;

 

5. Conclusion : un vrai gain de simplicité !

Avec @let, Angular simplifie la gestion des variables dans les templates :
✅ Plus besoin d’utiliser *ngIf ou *ngFor pour déclarer des variables.
✅ Moins de logique déportée dans le TypeScript, le code devient plus clair et lisible.
✅ Idéal pour les expressions complexes, les données asynchrones et les templates dynamiques.

Alors, prêt à intégrer @let dans vos projets Angular ? 🚀

5ème articles
Article précédentRedirections Dynamiques dans le RoutageArticle suivant Pourquoi Laravel

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

About The Blog

Nulla laoreet vestibulum turpis non finibus. Proin interdum a tortor sit amet mollis. Maecenas sollicitudin accumsan enim, ut aliquet risus.

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025

Catégories

  • Article Angular Killian
  • Article Clément
  • Article Unreal Engine Hugo
  • Cybersécurité
  • IA
  • Non classé
  • Projet Flutter KHM
  • Projet Hugo
  • Stage Clément
  • Stage Hugo
  • Stage Killian P
  • TP Clément

Méta

  • Inscription
  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

Étiquettes

Article Développer son projet professionnel Flutter Gérer son identité professionnelle Java Stage Symfony TP

Why Lander

Lander is a design prepared
especially for the free version
of Rife WordPress Theme.

You can use this for free.
Make your website today.
Get Started Now!

Contact

734 Blackwell Street
Anchorage, Alaska
info@domain.com
+33 (0) 101 0000
+33 (0) 102 0000
Mon. - Fri. 8AM - 6PM

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025
Rife Wordpress Theme. Proudly Built By Apollo13