Directives

Les directives Angular JS permettent de modifier le DOM et son comportement. Elles peuvent être invoquées sur différents éléments (éléments - E, attributs - A, classe Css - C, commentaire - M) :

<my-dir></my-dir>
<span my-dir="exp"></span>
<!-- directive: my-dir exp -->
<span class="my-dir: exp;"></span>

Directives fréquemment utilisées

Directive Portée Exemple Rôle
ng-app A
<html ng-app="myModule">...
Désigne le root d'une application (module),
se place généralement sur les balises html ou body de la page
ng-controller A
<div ng-controller="MyController">
...
{{uneExpressionDefinieDansLeScope}}
</div>
<div ng-controller="MyController as myCtrl">
...
{{myCtrl.uneVariable}}
</div>
Associe une classe contrôleur dans une application (module)
à la partie de la vue désignée et défini une nouvelle portée $scope
ng-bind A C
<span ng-bind="name"></span>
Associe (bind) la partie HTML spécifiée à une expression
ng-model A
<input type="text" ng-model="name">
Associe (bind) l'élément HTML spécifié (input, select, textarea) à une expression
ng-value A
<input type="radio" ng-value="name">
Associe (bind) la valeur de l'élément HTML spécifié (input type=“radio”, option)
à une expression
Directive Portée Exemple Rôle
ng-include E A C
<div ng-include="expressionUrl">...</div>
inclut à l'endroit spécifié le fichier html correspondant à l'expression
ng-switch A
  <div ng-switch on="expression">
      <div ng-switch-when="valeur1">...</div>
      <div ng-switch-when="valeur2">...</div>
      <div ng-switch-default>...</div>
  </div>
inclut selon la valeur de l'expression les éléments HTML aux endroits spécifiés
ng-repeat A
<div ng-repeat="element in elements">...</div>
Répète une séquence HTML pour chacun des éléments d'un tableau ou d'une collection
ng-init peut éventuellement servir à initialiser la collection
Directive Portée Exemple Rôle
ng-click A
<div ng-click="jsExpression">...</div>
Associe un comportement au click sur l'élément $event correspond à l'objet event généré
ng-show A
<div ng-show="booleanJsExpression">...</div>
Affiche ou masque l'élément associé
ng-hide A
<div ng-hide="booleanJsExpression">...</div>
Masque ou affiche l'élément associé
ng-class A
<div ng-class="String, Array, Map or condition">...</div>
Modifie de manière conditionnelle la classe de l“élément associé
ng-submit A
<form ng-submit="function()">...</div>
Soumet le formulaire associé