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:router:models [2018/01/18 15:57] – [Paramètres hérités] jcheron | richclient:emberjs:router:models [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 69: | Ligne 69: | ||
| </ | </ | ||
| + | |||
| + | ===== Models multiples ===== | ||
| + | Dans certains cas, la route peut avoir besoin de plusieurs models. | ||
| + | Ember utilise dans ce cas la méthode hash du package RSVP permettant de définir une seule **promise** à partir de plusieurs **promises** existantes : | ||
| + | <sxh javascript; | ||
| + | import Route from ' | ||
| + | import RSVP from ' | ||
| + | |||
| + | export default Route.extend({ | ||
| + | model() { | ||
| + | return RSVP.hash({ | ||
| + | songs: this.get(' | ||
| + | albums: this.get(' | ||
| + | }); | ||
| + | } | ||
| + | }); | ||
| + | </ | ||
| ===== Contexte parent ===== | ===== Contexte parent ===== | ||
| Ligne 75: | Ligne 92: | ||
| Il est possible dans ce cas d' | Il est possible dans ce cas d' | ||
| + | Dans le cas suivant, la route **album/ | ||
| <sxh javascript; | <sxh javascript; | ||
| import Route from ' | import Route from ' | ||
| Ligne 88: | Ligne 106: | ||
| + | Il est également possible de récupérer le model délivré par une route parent avec la méthode **modelFor** : | ||
| + | <sxh javascript; | ||
| + | import Route from ' | ||
| + | |||
| + | export default Route.extend({ | ||
| + | model() { | ||
| + | let { songs } = this.modelFor(' | ||
| + | |||
| + | return songs; | ||
| + | } | ||
| + | }); | ||
| + | </ | ||