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 [2018/01/17 20:22] – [Création de routes] jcheron | richclient:emberjs:router [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
Le router EmberJs associe chaque URL connue à un ou plusieurs route handlers. | Le router EmberJs associe chaque URL connue à un ou plusieurs route handlers. | ||
Ligne 44: | Ligne 44: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | ===== Routes imbriquées ===== | ||
+ | |||
+ | Une route imbriquée permet d' | ||
+ | |||
+ | La route posts/new correspond à l' | ||
+ | |||
+ | Elle peut-être générée par la commande : | ||
+ | |||
+ | <sxh bash; | ||
+ | ember generate route posts/new | ||
+ | </ | ||
+ | |||
+ | |||
+ | <sxh javascript; | ||
+ | Router.map(function() { | ||
+ | this.route(' | ||
+ | this.route(' | ||
+ | }); | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | Le template posts.hbs devra dans ce cas faire appel au helper **< | ||
+ | |||
+ | <sxh html; | ||
+ | < | ||
+ | <!-- Display posts and other content --> | ||
+ | {{outlet}} | ||
+ | </ | ||
+ | |||
+ | ===== Routes index ===== | ||
+ | |||
+ | A chaque url, ember associe automatiquement une route index implicite : | ||
+ | |||
+ | La configuration suivante du router : | ||
+ | <sxh javascript; | ||
+ | Router.map(function() { | ||
+ | this.route(' | ||
+ | }); | ||
+ | </ | ||
+ | est équivalente à : | ||
+ | <sxh javascript; | ||
+ | Router.map(function() { | ||
+ | this.route(' | ||
+ | this.route(' | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | Ember ajoute automatiquement un index à chaque appel de function. | ||
+ | |||
+ | Ainsi, pour une route imbriquée : | ||
+ | |||
+ | <sxh javascript; | ||
+ | Router.map(function() { | ||
+ | this.route(' | ||
+ | this.route(' | ||
+ | }); | ||
+ | }); | ||
+ | </ | ||
+ | l' | ||
+ | <sxh javascript; | ||
+ | Router.map(function() { | ||
+ | this.route(' | ||
+ | this.route(' | ||
+ | this.route(' | ||
+ | this.route(' | ||
+ | }); | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | A l' | ||
+ | |||
+ | A l' | ||
+ | |||
+ | ===== Segments dynamiques ===== | ||
+ | Une url avec segments dynamiques possède une ou plusieurs parties variables, introduites par un **:** et suivies par un **identifier**. | ||
+ | <sxh javascript; | ||
+ | Router.map(function() { | ||
+ | this.route(' | ||
+ | this.route(' | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | ==== Nommage des identifiers ==== | ||
+ | Pour faciliter le chargement des models, il est conseillé de respecter la convention de nommage suivante :\\ | ||
+ | un identifier devra respecter la norme **: | ||
+ | <sxh javascript; | ||
+ | Router.map(function() { | ||
+ | this.route(' | ||
+ | this.route(' | ||
+ | }); | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | |||
+ |