templates controller meteor iron-router js-routes

templates - ¿Cómo activo una ruta de Iron Router sin cambiar la ruta?



controller meteor (1)

En mi aplicación Meteor, intento pasar datos de mi controlador Iron Router a una plantilla que es parcial en mi aplicación. ¿Cómo activo una ruta sin cambiar la ruta? No quiero cambiar páginas, solo renderizar el parcial con mis datos (si tiene sentido).

Así es como funciona la aplicación:

En este momento, la ruta se activa cuando hago clic en un enlace desplegable en mi barra de navegación

Template.navbar.events ''click #threads-link'': (event)-> Router.go ''allThreads''

Esto representa la plantilla con mis datos siempre que tenga una ruta en mi ruta. Pero como no quiero que la ruta cambie, traté de dejar la ruta, ¡y luego la plantilla no recupera los datos de mi controlador!

Router.map -> @route "allThreads", controller: ThreadsController

¿Sabes cómo hacer que mi plantilla sea parcial para acceder a los datos en el controlador sin cambiar la ruta? ¡Gracias por adelantado!


En primer lugar, probablemente vea algunos problemas porque la última versión de Iron Router requiere que esté en Meteor v0.8.0. Si estás en una versión anterior de Meteor necesitarás usar el Iron Router anterior (0.6).

Para personalizar el renderizado dentro de ThreadsController, puede anular la función de acción o definir un gancho. Luego, puede llamar al método de renderizado para representar las plantillas que desee. Aquí hay un ejemplo:

ThreadsController = RouteController.extend({ action: function () { // Example 1. render this controller''s default template and all yields this.render(); // Example 2. render myTemplate into the main yield this.render(''myTemplate''); // Example 3. render templates into yield regions this.render(''myFooter'', {to: ''footer''}); } });