📢 Je vous présente le livre Angular

  • 1) Il offre un contenu clair et concis, tout en couvrant une multitude de concepts d'Angular.
  • 2) Le livre est structuré en trois niveaux : débutant, intermédiaire et avancé
  • 3) traite des pratiques les plus récentes d'Angular, comme les signaux, les vues différées, la gestion des flux, entre autres
  • 4) De plus, vous y trouverez plusieurs liens vers des exemples de code source pour approfondir vos connaissances en pratique.
Consulter un extrait

Skip to content

Comment utiliser la directive ng-template dans Angular ?

La directive ng-template est utilisée dans Angular pour définir un contenu qui ne sera pas rendu immédiatement, mais qui pourra être utilisé plus tard comme modèle de rendu. Cela peut être utile dans plusieurs situations, telles que :

  • Créer un modèle de rendu qui sera utilisé plusieurs fois dans une vue. Au lieu de répéter le même code HTML plusieurs fois, vous pouvez définir un modèle une seule fois et l'utiliser à plusieurs endroits.

  • Créer un modèle de rendu qui ne sera utilisé que si certaines conditions sont remplies. Par exemple, vous pouvez définir un modèle qui sera utilisé si un utilisateur est connecté, et un autre modèle qui sera utilisé s'il est déconnecté.

Voici comment utiliser la directive ng-template dans Angular :

  1. Dans votre template HTML, définissez un conteneur qui sera utilisé comme modèle de rendu en utilisant la directive ng-template. Vous pouvez donner un nom à ce modèle en utilisant l'attribut ng-template :
html
<ng-template #myTemplate>
  Mon modèle de rendu
</ng-template>
  1. Pour utiliser ce modèle de rendu, vous pouvez utiliser la directive ngTemplateOutlet et lui passer le modèle en utilisant la référence définie précédemment :
html
<div *ngTemplateOutlet="myTemplate"></div>

Cela permettra de rendre le contenu du modèle dans la div.

Vous pouvez également passer des contextes à votre modèle en utilisant l'attribut ngTemplateOutletContext. Par exemple :

html
<ng-template #myTemplate let-name="name">
  Bonjour {{name}}
</ng-template>

<div *ngTemplateOutlet="myTemplate; context: {name: 'John'}"></div>

Cela permettra de rendre "Bonjour John" dans la div.

Il est également possible d'utiliser la directive ng-container avec ngTemplateOutlet pour rendre le modèle dans un conteneur qui n'ajoutera pas de nœud HTML supplémentaire à l'arbre DOM. Cela peut être utile lorsque vous ne voulez pas ajouter de nœuds HTML supplémentaires à votre vue.

html
<ng-container *ngTemplateOutlet="myTemplate"></ng-container>

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