Я изучаю и использую Backbone.js.
У меня есть модель элемента и соответствующее представление элемента. Каждый экземпляр модели имеет атрибуты item_class и item_id, которые я хочу отображать как атрибуты id и class соответствующего представления. Как правильно этого добиться?
Пример:
var ItemModel = Backbone.Model.extend({
});
var item1 = new ItemModel({item_class: "nice", item_id: "id1"});
var item2 = new ItemModel({item_class: "sad", item_id: "id2"});
var ItemView = Backbone.View.extend({
});
Как мне реализовать представление, чтобы элементы el представлений переводились в:
<div id="id1" class="nice"></div>
<div id="id2" class="sad"> </div>
В большинстве примеров, которые я видел, представление el служит бессмысленным элементом оболочки внутри которого нужно вручную писать «семантический» код.
var ItemView = Backbone.View.extend({
tagName: "div", // I know it's the default...
render: function() {
$(this.el).html("<div id="id1" class="nice"> Some stuff </div>");
}
});
Итак, при рендеринге получается
<div> <!-- el wrapper -->
<div id="id1" class="nice"> Some stuff </div>
</div>
Но это кажется пустой тратой - зачем нужен внешний div? Я хочу, чтобы el транслировался напрямую во внутренний div!