Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
richclient:emberjs:modelobjet [2018/01/20 16:44]
jcheron
richclient:emberjs:modelobjet [2018/01/20 16:55] (Version actuelle)
jcheron [Héritage/surdéfinition]
Ligne 47: Ligne 47:
  
 ===== Héritage/​surdéfinition ===== ===== Héritage/​surdéfinition =====
 +
 +  * L'​héritage est mis en place grace à la méthode **extend()**
 +  * La surdéfinition par l'​appel de **_super()**
  
 <sxh javascript>​ <sxh javascript>​
Ligne 74: Ligne 77:
 ===== Initialisation/​construction ===== ===== Initialisation/​construction =====
  
-Quand un objet est instancié, la méthode **init()** de sa classe est invoquée automatiquement. La méthode init permet d'​initialiser chaque instance :+Quand un objet est instancié, la méthode **init()** de sa classe est invoquée automatiquement. 
 + 
 +<sxh javascript>​ 
 +import EmberObject from '​@ember/​object';​ 
 + 
 +const Person = EmberObject.extend({ 
 +  init() { 
 +    alert(`${this.get('​name'​)},​ reporting for duty!`); 
 +  } 
 +}); 
 + 
 +Person.create({ 
 +  name: '​Stefan Penner'​ 
 +}); 
 + 
 +// alerts "​Stefan Penner, reporting for duty!"​ 
 +</​sxh>​ 
 + 
 +La méthode init permet d'​initialiser chaque instance
 + 
 + 
 +===== getters/​setters ===== 
 + 
 +L'​accès aux propriétés d'un objet doit se faire en passant par les accesseurs **get()** et **set()**, faute de quoi computed properties et observers ne sont pas sollicités et ne mettent pas à jour les données (dans un template par exemple) 
 + 
 +<sxh javascript>​ 
 +import EmberObject from '​@ember/​object';​ 
 + 
 +const Person = EmberObject.extend({ 
 +  name'​Robert Jackson'​ 
 +}); 
 + 
 +let person = Person.create();​ 
 + 
 +person.get('​name'​);​ // '​Robert Jackson'​ 
 +person.set('​name',​ '​Tobias Fünke'​);​ 
 +person.get('​name'​);​ // '​Tobias Fünke'​ 
 +</​sxh>​
  
  
  
  
richclient/emberjs/modelobjet.1516463061.txt.gz · Dernière modification: 2018/01/20 16:44 par jcheron
GNU Free Documentation License 1.3
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0