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 -