EmberJS - Rutas anidadas de enrutador
Puede definir rutas anidadas definiendo una plantilla dentro de otra plantilla pasando una devolución de llamada a la ruta actual.
Sintaxis
Router.map(function() {
this.route('link-page', { path: 'pathTolinkpag' }, function() {
this.route('link-page');
});
});
Para crear una ruta anidada, ejecute el siguiente comando:
ember generate route route_name/another_route_name
Ejemplo
El siguiente ejemplo muestra cómo definir rutas anidadas para mostrar una plantilla dentro de otra plantilla. Abra el archivo .hbs creado en app / templates / nestedroute . Aquí, hemos creado el archivo como fruit.hbs con el siguiente código:
<h2>Fruits Page</h2>
<ul>
<li>Orange</li>
<li>Apple</li>
<li>Banana</li>
</ul>
Abra el archivo router.js para definir las asignaciones de URL:
import Ember from 'ember';
//Access to Ember.js library as variable Ember
import config from './config/environment';
//It provides access to app's configuration data as variable config
//The const declares read only variable
const Router = Ember.Router.extend ({
location: config.locationType,
rootURL: config.rootURL
});
//Defines URL mappings that takes parameter as an object to create the routes
Router.map(function() {
this.route('nestedroute', function() {
this.route('fruits');
});
});
//It specifies Router variable available to other parts of the app
export default Router;
Cree el archivo application.hbs y agregue el siguiente código:
{{#link-to 'nestedroute.fruits'}}fruits{{/link-to}}
{{outlet}}
Salida
Ejecute el servidor ember y recibirá el siguiente resultado:
Cuando haga clic en el enlace en la salida, verá la ruta URL como nestedroute / fruits y mostrará el resultado de fruits.hbs -