Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
angular:concepts [2014/05/03 11:46] djiko créée |
angular:concepts [2016/10/17 13:56] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== AngularJS : les concepts ====== | ====== AngularJS : les concepts ====== | ||
- | Important de comprendre les concepts | + | Important de comprendre les concepts. Cette page est WIP, comme mon cerveau. |
===== Expressions ===== | ===== Expressions ===== | ||
===== Directive ===== | ===== Directive ===== | ||
+ | * Manipulation du DOM | ||
+ | * Morceau de html templaté et donc facile à injecter et réutiliser | ||
+ | * Plusieurs écritures possibles | ||
+ | * Déclaration d'attribut | ||
+ | <code html> | ||
+ | <a bouton-perso>Cliquez moi</a> | ||
+ | </code> | ||
+ | * Élément personnalisé | ||
+ | <code html> | ||
+ | <bouton-perso>Cliquez moi</bouton-perso> | ||
+ | </code> | ||
+ | * Classe | ||
+ | <code html> | ||
+ | <a class="bouton-perso">Cliquez moi</a> | ||
+ | </code> | ||
+ | * Commentaire | ||
+ | <code html> | ||
+ | <!-- directive: bouton-perso --> | ||
+ | </code> | ||
+ | * Attributs | ||
+ | * restrict: restriction d'usage. 'A' pour Attribute, 'E' pour Element, 'C' pour Class, 'M' pour commentaire. Peuvent être combinés. | ||
+ | * replace: booleén. Permet de remplacer le contenu de l'élément. | ||
+ | * transclude: Récupère le contenu de l'élément et l'injecte dans l'élément produit par la directive. | ||
+ | * template: comme son nom l'indique. | ||
+ | * templateUrl: la même chose que template, mais soous forme d'URL pointant vers une ressource | ||
===== Data binding ===== | ===== Data binding ===== | ||
===== Filter ===== | ===== Filter ===== | ||
Ligne 13: | Ligne 38: | ||
===== Route ===== | ===== Route ===== | ||
===== Controller ===== | ===== Controller ===== | ||
+ | * Manipulation des datas, par exemple implémentation d'appel à des APIs REST permettant de fetcher des dats depuis un serveur. | ||
+ | * Pas de manipulation du DOM ici. Faire ça via des [[angular:concepts#directive|directives]] | ||
+ | * Créer les contrôleurs en faisant en sorte qu'ils soient restreints à l'application dont ils sont membres | ||
+ | <code javascript> | ||
+ | var monApplication = angular.module('monApplication', []); | ||
+ | |||
+ | monApplication.controller('MonControleur', function ($scope) { | ||
+ | // Faire des trucs | ||
+ | }); | ||
+ | </code> | ||
+ | |||
===== Scope ===== | ===== Scope ===== | ||
+ | Assure le lien entre un contrôleur et la vue à laquelle le contrôleur est associé. le __Scope__ est un attribut du contrôleur et lui permet d'ajouter des données ou des fonctions dans son contexte d'exécution. Ces ajouts sont fait au sein de l'élément du DOM dans lequel le contrôleur est exécuté. | ||
+ | |||
===== Watch ===== | ===== Watch ===== | ||
===== Service ===== | ===== Service ===== |