EmberJS - Modelo de vários segmentos

Para vários segmentos, você pode fornecer um modelo ou um identificador para cada segmento se a rota estiver aninhada.

Sintaxe

Router.map(function() {
   this.resource('route_name');
   this.resource('route_name', { path: 'route_path' });
});

Exemplo

O exemplo mostra o uso de vários segmentos na rota aninhada, fornecendo um identificador para o segmento. Crie duas rotas com os nomes como informações e registro e abra o arquivo router.js para definir os mapeamentos de URL -

import Ember from 'ember';
import config from './config/environment';

const Router = Ember.Router.extend ({
   location: config.locationType,
   rootURL: config.rootURL
});

Router.map(function() {
   this.route('info');
   this.route('record', { path: 'records/:records_id' });
});

export default Router;

Abra o arquivo application.hbs criado em app / templates / com o seguinte código -

{{#link-to 'info'}}Fruits{{/link-to}}
{{#link-to 'record' recoModel}}Some Record{{/link-to}}
{{outlet}}

Ao clicar no link "Frutas", a página deve abrir o arquivo info.hbs , que contém o seguinte código -

<p>Some Fruits</p>
<ul>
   <li>Orange</li>
   <li>Banana</li>
</ul>
{{outlet}}

Se você clicar no link Some Record , a página deve abrir o arquivo record.hbs , que contém o seguinte código -

<p>Some Records</p>
{{model.name}}
{{outlet}}

Agora crie o controlador application.js , que será criado em app / controller / to com o seguinte código -

import Ember from 'ember';

export default Ember.Controller.extend ({
   recoModel: function(){
      //return the records value to the called route
      return {records_id:1, name:'Docs List'};
   }.property()
});

Resultado

Execute o servidor ember; você receberá a seguinte saída -

Quando você clica no link Frutas , ele exibe o seguinte texto do arquivo de modelo -

Quando você clica no link Some Record , ele exibe o seguinte texto do arquivo de modelo -