Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
slam4:richclient:angularjs:elements [2015/02/12 02:05] – [Directive] jcheron | slam4:richclient:angularjs:elements [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 144: | Ligne 144: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Création d' | ||
+ | ==== Factory ==== | ||
+ | |||
+ | <sxh javascript> | ||
+ | monApp.factory(' | ||
+ | return { | ||
+ | " | ||
+ | " | ||
+ | // faire qqchose | ||
+ | } | ||
+ | } | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | **maFactory** est un singleton (une seule instance), et devient injectable : | ||
+ | |||
+ | Injection dans un contrôleur : | ||
+ | |||
+ | <sxh javascript> | ||
+ | app.controller(" | ||
+ | // | ||
+ | $scope.member=maFactory.member; | ||
+ | maFactory.method(); | ||
+ | ... | ||
+ | }]); | ||
+ | </ | ||
+ | |||
+ | ==== Service ==== | ||
+ | |||
+ | Le service permet également de créer un objet injectable, mais d'une autre façon : | ||
+ | |||
+ | <sxh javascript> | ||
+ | monApp.service(' | ||
+ | this.name = " | ||
+ | this.id = null; | ||
+ | this.login = function(){ | ||
+ | // faire un truc pour se connecter | ||
+ | } | ||
+ | this.logout = function(){ | ||
+ | // faire un truc pour se déconnecter | ||
+ | } | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ |