BTS SIO2D
  • Accueil
  • Connexion
19 décembre 2024 par Mehdi ENNAJEH

Introduction à la syntaxe @let dans Angular 18.1

Introduction à la syntaxe @let dans Angular 18.1
19 décembre 2024 par Mehdi ENNAJEH

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 de @let
      • Exemple 1 : Une variable simple avec une valeur statique
      • Exemple 2 : Utilisation avec un élément DOM
      • Exemple 3 : Avec un pipe asynchrone
    • 3. Points importants à retenir sur @let
      • Exemple de portée limitée
      • Erreur de réassignation
    • 4. Syntaxe de @let : simple comme bonjour
    • 5. Conclusion : Plus besoin de se prendre la tête avec les templates !

Tout savoir sur la nouvelle syntaxe @let dans Angular 18.1

Avec la version 18.1 d'Angular, il y a une petite nouveauté qui va rendre la vie des développeurs beaucoup plus facile. Il s'agit de la syntaxe @let dans les templates. Avant cette mise à jour, lorsqu’on voulait définir une variable dans le HTML et la réutiliser dans tout le template, il fallait jongler avec des solutions un peu compliquées. Maintenant, avec @let, tout devient plus simple et plus naturel !

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

Imaginez que vous voulez créer une variable dans votre template pour stocker une valeur ou un résultat d'une expression, et pouvoir l’utiliser plusieurs fois dans votre HTML. Avant, c’était pas évident de faire ça de façon propre, mais avec @let, c’est désormais possible ! Vous pouvez définir une variable directement dans votre template et l'utiliser comme n’importe quelle autre variable dans le code Angular. Plus besoin de passer par du TypeScript ou des directives compliquées.

Par exemple, vous pouvez faire ça :

@let name = 'Frodo';

Et ensuite, utilisez la variable partout dans votre template :

<h1>Bienvenue, {{name}}</h1>

C’est simple, non ?

2. Quelques exemples concrets de @let

Voyons à quoi ça ressemble dans un vrai template :

Exemple 1 : Une variable simple avec une valeur statique

@let name = 'Frodo';

Ensuite, vous pouvez réutiliser cette variable partout dans le template :

<h1>Bienvenue sur votre tableau de bord, {{name}}</h1>

Exemple 2 : Utilisation avec un élément DOM

<input #name>
@let greeting = 'Bonjour ' + name.value;

Ici, la variable greeting est définie à partir de la valeur d'un input, et vous pouvez l'utiliser comme bon vous semble dans le template.

Exemple 3 : Avec un pipe asynchrone

@let user = user$ | async;

Si vous récupérez des données de manière asynchrone, par exemple via un Observable, vous pouvez utiliser @let pour définir une variable qui contiendra la valeur une fois que les données seront disponibles.

3. Points importants à retenir sur @let

Avant de vous lancer à fond, voici quelques détails à garder en tête :

  • Portée limitée : Une variable définie avec @let ne sera disponible que dans le template actuel et ses éléments enfants. Si vous essayez de l’utiliser dans une autre vue ou un autre bloc, ça ne fonctionnera pas.
  • Lecture seule : Une fois que vous avez défini une variable avec @let, vous ne pouvez pas la modifier directement. Elle est recalculée automatiquement à chaque changement de données, mais vous ne pouvez pas lui attribuer une nouvelle valeur dans le template. Si vous essayez de le faire, Angular vous le dira avec une erreur.

Exemple de portée limitée

@let topLevel = value;
<if (condition)> @let nested = value; </if>
<div *ngIf="condition"> @let nestedNgIf = value; </div>

Dans cet exemple :

  • topLevel est accessible partout dans le template, mais nested ne le sera que dans le bloc *ngIf où elle est définie.
  • Et nestedNgIf ne pourra être utilisé que dans le *ngIf où vous l'avez défini.

Erreur de réassignation

@let value = 10;

Si vous essayez de faire ça dans votre template :

<button (click)="value = value + 1">Changer la valeur</button>

Vous aurez une erreur, car les variables définies avec @let sont en lecture seule.

4. Syntaxe de @let : simple comme bonjour

La syntaxe est super simple, et voilà comment vous pouvez définir une variable :

  • Commencez par @let, suivi d’un espace.
  • Ensuite, donnez un nom valide à la variable.
  • Utilisez un signe égal (=) pour affecter une valeur à la variable.
  • Terminez par un point-virgule (;) pour bien fermer la déclaration.
@let name = 'Frodo';

C'est aussi simple que ça !

5. Conclusion : Plus besoin de se prendre la tête avec les templates !

Avec @let, la gestion des variables dans vos templates Angular devient un jeu d'enfant. Vous pouvez définir des variables directement dans vos templates, les utiliser à volonté, et tout ça sans avoir à écrire des lignes et des lignes de code TypeScript ou à manipuler des directives complexes. C'est plus simple, plus propre et plus agréable à utiliser.

Alors, qu’attendez-vous pour l’essayer dans vos projets Angular ? Profitez-en pour améliorer vos templates et rendre votre code encore plus facile à maintenir et à comprendre !

Article précédentConcurrent RenderingArticle suivant VIII) Stratégie d’Angular pour 2025

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