2012-05-17 10 views
12

Parece que Backbone.view, meteor y manubrios tienen una funcionalidad de superposición cuando se trata de manipular una sección del DOM. Miré la aplicación ToDo, que se supone que usa Backbone, pero en realidad, solo usan el enrutador.¿Cómo conectar una Vista de red troncal a una plantilla de barra de meteorito?

Las vistas de red troncal también se ocupan de las plantillas ... pero suenan muy diferentes de las plantillas de meteoritos. Además, parece que los dos esqueletos & meteoro pueden actualizar la interfaz de usuario en una actualización de modelo.

bien, ¡¿estoy perdido ?! ¿Quien hace que?

¿El Backbone es realmente útil para una aplicación Meteor? ¿Puede Backbone & coexistir barras de manipulación? y si pueden, en el contexto de Meteor, ¿cómo conectar una vista Backbone a una plantilla de barras de control?

EDIT: encontré el ejemplo de todo-backbone. parece confirmar que se puede ir ya sea:

  • meteoro + + espina dorsal de relieve las plantillas
  • ... no parece o meteoro + manillar

meteoro + espina dorsal + manillar como un viable opción ...

Gracias

Respuesta

13

es muy fácil y sin más trabajo que el uso de la plantilla de subrayado. He aquí un ejemplo de archivo html:

<template name="user_list"> 
<ul> 
    {{#each users}} 
    <li>{{name}}</li> 
    {{/each}} 
</ul> 
</template> 

Y he aquí un ejemplo .js archivo:

Users = new Meteor.collection("users"); 

if (Meteor.is_client) { 
    Template.user_list.users = function() { 
    return Users.find(); 
    } 

    window.UserView = Backbone.View.extend({ 
    initialize: function() { 
     _.bindAll(this, 'render'); 
    }, 
    template: function() { 
     Meteor.ui.render(function() { 
     return Template.user_list(); 
     }); 
    }, 
    render: function() { 
     $(el).empty().append(this.template()); 
    } 
    }); 
} 

A continuación, puede utilizar un router u otra vista para gestionar cuando se quiere mostrar la UserView al igual que lo lo haría en cualquier otra aplicación Backbone.js.

La clave es utilizar Meteor.ui.render u otro método Meteor.ui para representar el código HTML de manera que sea reactivo.

+0

gracias a un grupo @ Aaron –

+1

Me pregunto por qué trajeron Backbone como parte del meteoro, es muy confuso. BB y M comparten muchas características. En el ejemplo anterior, ¿cómo puedo usar un modelo BB.y todavía puedo verlo como un M.collection? –

+9

Los modelos de Meteor son mucho más completos que Backbone y brindan reactividad y sincronización directa entre clientes, mientras que el concepto Backbone de Modelos y Colecciones es principalmente una manera de estructurar las llamadas a un servidor y luego proporcionar una forma de arquitectura basada en eventos. sistemas. Entonces, si bien puedes adaptar colecciones y modelos de Meteor a Backbone, recomendaría no hacerlo. En cambio, usa Meteor de la manera en que debe ser usado. – Aaron

Cuestiones relacionadas