Я использую Handlebars.js в качестве инструмента создания шаблонов для моего приложения Backbone.js. Мои функции рендеринга в моих представлениях обычно выглядят следующим образом:
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;
Вышеупомянутое добавляется к основному представлению приложения с помощью следующего кода (это код, который вызывает указанный выше код):
$('div#round-container', this.el).append(roundView.render().el);
Шаблон My Handlebars обрабатывает все стиль и макет, поэтому я оставляю элемент el в представлении пустым. Backbone.js автоматически добавляет окружающие теги div вокруг шаблона Handlebars. Я предполагаю, что это потому, что элемент «el» пуст. Есть ли способ предотвратить добавление окружающих тегов div? Спасибо!
Другой простой способ - вместо этого добавить дочерние узлы отображаемого элемента
$('div#round-container', this.el).append(roundView.render().el.childNodes);
.