Używam pliku Handlebars.js jako narzędzia do tworzenia szablonów dla mojej aplikacji Backbone.js. Moi renderowanie funkcji w moich poglądów zazwyczaj wygląda następująco:Zatrzymaj kręgosłup od dodawania otaczających elementów div do widoku?
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;
Powyższe jest dołączany do głównego aplikacji widzenia poprzez następującego kodu (jest to kod, który wywołuje powyższy kod):
$('div#round-container', this.el).append(roundView.render().el);
Szablon Moje kierownice obsługuje wszystkie style i układ, więc pozostawiam element "el" pustego widoku. Backbone.js automatycznie dodaje otaczające znaczniki div wokół szablonu Handlebars. Zakładam, że dzieje się tak dlatego, że element "el" jest pusty. Czy istnieje sposób, aby zapobiec dodawaniu otaczających tagów div? Dzięki!
setElement to również fajna opcja –
After goi ng z opcją 2., zdarzenie submit nie jest uruchamiane – svlada
@svlada, 'setElement' również wywołuje' this.undelegateEvents(); 'oraz' this.delegateEvents(); 'zapewnia, że zdarzenia w haszowaniu zdarzeń są stosowane do nowego element. Możesz zadzwonić do nich, gdy setElement nie wchodzi w grę. [źródło] (http://backbonejs.org/docs/backbone.html#section-162) –