Table des matières

router Méthodes

afterModel

afterModel (model, transition) 

hook appelé après le chargement du model pour la route.

beforeModel

beforeModel (params, transition) 

hook appelé avant le chargement du model pour la route.

model

model (params, transition) 

hook retournant le model à utiliser pour la route.

render

render (name, options) 

Affiche le contenu d'un template dans une zone outlet nommée, en passant éventuellement des paramètres (model, controller…)

// ...

Router.map(function() {
  this.route('photos');
});

export default Router;

<!-- application.hbs -->
<div class='something-in-the-app-hbs'>
  {{outlet "anOutletName"}}
</div>

Il est possible d'afficher photos.hbs dans l'outlet “anOutletName” du template application.hbs en appelant la méthode render :

import Ember from 'ember';

export default Ember.Route.extend({
  renderTemplate() {
    this.render('photos', {
      into: 'application',
      outlet: 'anOutletName'
    })
  }
});

La méthode render peut permettre également de préciser le controller et le model à utiliser :

import Ember from 'ember';

export default Ember.Route.extend({
  renderTemplate(controller, model){
    this.render('posts', {    // the template to render, referenced by name
      into: 'application',    // the template to render into, referenced by name
      outlet: 'anOutletName', // the outlet inside `options.into` to render into.
      controller: 'someControllerName', // the controller to use for this template, referenced by name
      model: model            // the model to set on `options.controller`.
    })
  }
});

renderTemplate

renderTemplate (controller, model) 

hook à utiliser pour afficher le template de la route courante.

send

send (name, args) 

Déclenche (trigger) une action.