AngularJS - Directives: A Guide for Beginners
Bonjour là-bas, futurs magiciens d'AngularJS ! Aujourd'hui, nous allons entreprendre un voyage passionnant à la découverte des directives AngularJS. Ne vous inquiétez pas si vous êtes nouveaux dans le domaine de la programmation - je serai votre guide amical, expliquant tout pas à pas. Alors, prenez une tasse de café (ou de thé, si c'est votre truc), et plongeon dans l'aventure !
Qu'est-ce que les Directives ?
Avant de commencer, comprenons ce que sont les directives. Pensez aux directives comme des instructions spéciales que nous donnons à HTML. Elles sont comme des sorts magiques qui rendent nos pages web vivantes avec un contenu et un comportement dynamiques. Génial, non ?
Maintenant, explorons quelques-unes des directives les plus couramment utilisées dans AngularJS.
Directive ng-app
La directive ng-app
est comme la fondation de notre maison AngularJS. Elle dit à AngularJS : "Hey, c'est là que mon application commence !"
Exemple :
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
</head>
<body ng-app>
<p>Bienvenue dans mon application AngularJS !</p>
</body>
</html>
Dans cet exemple, nous avons ajouté ng-app
à la balise <body>
. Cela indique à AngularJS que tout ce qui se trouve à l'intérieur de <body>
fait partie de notre application AngularJS.
Directive ng-init
La directive ng-init
est comme le chapeau du magicien - elle nous permet d'initialiser des variables directement dans notre HTML. C'est génial pour des démos simples, mais dans des applications réelles, nous initialisons généralement les données dans un contrôleur.
Exemple :
<div ng-app ng-init="firstName='John'; lastName='Doe'">
<p>Le nom est {{ firstName + " " + lastName }}</p>
</div>
Ici, nous utilisons ng-init
pour définir les valeurs de firstName
et lastName
. Ensuite, nous affichons ces valeurs en utilisant les expressions AngularJS (ces accolades doubles).
Directive ng-model
La directive ng-model
est comme une route à double sens entre votre HTML et vos données d'application. Elle peut :
- Lier un champ input, une selects ou une textarea à une propriété sur le scope
- Fournir une validation de type pour les données de l'application
- Définir des classes CSS pour l'élément
- Lier les éléments HTML à la validation du formulaire
Exemple :
<div ng-app>
<input type="text" ng-model="name">
<p>Salut, {{ name }} !</p>
</div>
Dans cet exemple, tout ce que vous tapez dans le champ input apparaîtra immédiatement après "Salut," dans le paragraphe ci-dessous. C'est comme de la magie, mais c'est juste la puissance de ng-model
!
Directive ng-repeat
La directive ng-repeat
est comme une photocopieuse pour les éléments HTML. Elle peut répéter un ensemble d'éléments HTML pour chaque élément dans un tableau. C'est super utile pour créer des listes ou des tableaux dynamiquement.
Exemple :
<div ng-app ng-init="fruits=['Apple', 'Banana', 'Orange']">
<ul>
<li ng-repeat="fruit in fruits">
{{ fruit }}
</li>
</ul>
</div>
Cela créera une liste de fruits. La directive ng-repeat
répétera l'élément <li>
pour chaque fruit dans notre tableau.
Un Exemple Complet
Maintenant, mettons tout cela ensemble dans un exemple plus complexe :
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
</head>
<body ng-app ng-init="students=[
{name:'John Doe', grade: 85},
{name:'Jane Smith', grade: 92},
{name:'Bob Johnson', grade: 78}
]">
<h2>Trackeur de Notes des Étudiants</h2>
<table border="1">
<tr>
<th>Nom</th>
<th>Note</th>
</tr>
<tr ng-repeat="student in students">
<td>{{ student.name }}</td>
<td>{{ student.grade }}</td>
</tr>
</table>
<br>
<h3>Ajouter un Nouvel Étudiant</h3>
<form>
Nom: <input type="text" ng-model="newName"><br>
Note: <input type="number" ng-model="newGrade"><br>
<button ng-click="students.push({name:newName, grade:newGrade})">Ajouter Étudiant</button>
</form>
</body>
</html>
Décomposons cela :
- Nous commençons avec
ng-app
dans la balise<body>
pour initialiser notre application AngularJS. - Nous utilisons
ng-init
pour créer un tableau initial d'étudiants. - Nous utilisons
ng-repeat
pour créer des lignes de tableau pour chaque étudiant. - Nous utilisons
ng-model
pour lier les champs d'entrée aux variables. - Nous utilisons
ng-click
(une nouvelle directive !) pour ajouter un nouvel étudiant à notre tableau lorsque le bouton est cliqué.
Cet exemple démontre comment ces directives travaillent ensemble pour créer une application web dynamique et interactive. Vous pouvez ajouter de nouveaux étudiants, et ils apparaîtront immédiatement dans le tableau !
Conclusion
Félicitations ! Vous avez刚刚 fait vos premiers pas dans le monde des directives AngularJS. Nous avons couvert les bases de ng-app
, ng-init
, ng-model
, et ng-repeat
. Ce ne sont que quelques-unes des nombreuses directives que propose AngularJS, mais elles sont un excellent point de départ.
N'oubliez pas, apprendre la programmation est comme apprendre une nouvelle langue. Ça prend du temps et de la pratique, mais avant que vous ne vous en rendiez compte, vous parlerez couramment AngularJS ! Continuez à expérimenter avec ces directives, essayez de les combiner de différentes manières, et surtout, amusez-vous !
Bonne programmation, futurs maîtres d'AngularJS !
Credits: Image by storyset