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 | ||
richclient:emberjs:data [2018/02/03 13:15] – jcheron | richclient:emberjs:data [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 17: | Ligne 17: | ||
}); | }); | ||
</ | </ | ||
+ | |||
+ | ===== Ajout d' | ||
+ | |||
+ | Ajout d' | ||
+ | <sxh javascript; | ||
+ | import DS from ' | ||
+ | |||
+ | export default DS.Model.extend({ | ||
+ | firstName: DS.attr(), | ||
+ | lastName: DS.attr(), | ||
+ | birthday: DS.attr() | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | Un model peut aussi définir des computed properties : | ||
+ | <sxh javascript; | ||
+ | import DS from ' | ||
+ | import { computed } from ' | ||
+ | |||
+ | export default DS.Model.extend({ | ||
+ | firstName: DS.attr(), | ||
+ | lastName: DS.attr(), | ||
+ | |||
+ | fullName: computed(' | ||
+ | return `${this.get(' | ||
+ | }) | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | ==== Transforms : dataTypes ==== | ||
+ | |||
+ | La méthode **DS.attr** peut définir le type de données en passant en paramètre un transformer : | ||
+ | <sxh javascript; | ||
+ | import DS from ' | ||
+ | |||
+ | export default DS.Model.extend({ | ||
+ | name: DS.attr(' | ||
+ | age: DS.attr(' | ||
+ | admin: DS.attr(' | ||
+ | birthday: DS.attr(' | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | * **date** transforme une chaîne au format ISO en un objet javascript **Date** | ||
+ | * **boolean** convertit une chaîne en booléen False ou True | ||
+ | |||
+ | Il est également possible de définir ses propres transformers : voir [[https:// | ||
+ | ==== Default value ==== | ||
+ | |||
+ | <sxh javascript; | ||
+ | import DS from ' | ||
+ | |||
+ | export default DS.Model.extend({ | ||
+ | username: DS.attr(' | ||
+ | email: DS.attr(' | ||
+ | verified: DS.attr(' | ||
+ | createdAt: DS.attr(' | ||
+ | defaultValue() { return new Date(); } | ||
+ | }) | ||
+ | }); | ||
+ | </ | ||
+ |