Sto utilizzando Handlebars.js come strumento di template per la mia app Backbone.js. Il mio render funzioni nel mio punto di vista di solito simile al seguente:Interrompi lo scheletro dall'aggiunta di div ambientali a una vista?
var source = $("#round").html();
var template = Handlebars.compile(source);
var context = JSON.parse(JSON.stringify(this.model));
var html = template(context);
$(this.el).html(html);
return this;
Quanto sopra viene aggiunto alla vista principale applicazione tramite il seguente codice (questo è il codice che chiama il codice di cui sopra):
$('div#round-container', this.el).append(roundView.render().el);
Il mio modello di manubri gestisce tutto lo stile e il layout, quindi lascio l'elemento "el" di una vista vuota. Backbone.js aggiunge automaticamente i tag div che circondano il template di Handlebars. Presumo che questo sia dovuto al fatto che l'elemento "el" è vuoto. C'è un modo per impedire l'aggiunta dei tag div circostanti? Grazie!
setElement è una buona opzione anche –
Dopo goi ng con l'opzione 2., l'evento di invio non viene attivato – svlada
@svlada, 'setElement' chiama anche' this.undelegateEvents(); 'e' this.delegateEvents(); 'che assicura che gli eventi nel hash degli eventi vengano applicati al nuovo elemento. Puoi chiamarli yourselft se setElement è fuori questione. [fonte] (http://backbonejs.org/docs/backbone.html#section-162) –