2012-05-17 12 views
12

Sembra che Backbone.view, meteora e manubri abbiano funzionalità di sovrapposizione quando si tratta di manipolare una sezione del DOM. Ho guardato l'app ToDo che si suppone utilizzi Backbone, ma in realtà usano solo il router.Come collegare una vista Backbone a un modello di manubri meteorici?

Le viste backbone si occupano anche di modelli ... ma sembrano così diversi dai modelli di meteore. Inoltre, sembra che entrambi i dorsali & meteor possano aggiornare l'interfaccia utente su un aggiornamento del modello.

ok, mi sono perso !? Chi fa cosa?

Backbone è davvero utile per un'app Meteore? Can Backbone & I manubri coesistono? e se possono, nel contesto Meteor, come collegare una vista Backbone a un modello di manubrio?

MODIFICA: trovato l'esempio di dorsale. sembra confermare che si può andare sia:

  • meteora + spina dorsale + sottolineare modelli
  • o ... meteora + manubrio

meteora + spina dorsale + manubrio non sembra una valida opzione ...

Grazie

risposta

13

e 'molto facile e non più lavoro che utilizzando il modello di sottolineatura. Ecco un esempio di file html:

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

Ed ecco un esempio file .js:

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()); 
    } 
    }); 
} 

È quindi possibile utilizzare un router o di un altro vista da gestire quando si desidera visualizzare l'UserView proprio come te farebbe in qualsiasi altra app Backbone.js.

La chiave è utilizzare Meteor.ui.render o un altro metodo Meteor.ui per eseguire il rendering dell'HTML in modo che sia reattivo.

+0

grazie a un mucchio @Aaron –

+1

Mi chiedo perché hanno portato Backbone come parte della meteora, è molto confuso. BB e M condividono molte funzionalità. Nell'esempio sopra, come posso usare un BB.model e averlo ancora visto come M.collection? –

+9

I modelli in Meteor sono molto più completi di quelli di Backbone che forniscono reattività e sincronizzazione immediata tra i client, mentre il concetto di Backbone di Modelli e Collezioni è principalmente un modo per strutturare le chiamate su un server e quindi fornire un modo basato su architetture per l'evento basato sistemi. Quindi, mentre potevi riadattare le collezioni e i modelli Meteor a Backbone, ti consiglio di non farlo. Invece, usa Meteor come deve essere usato. – Aaron

Problemi correlati