我正在学习和使用 Backbone.js。
我有一个 Item 模型和相应的 Item 视图。 每个模型实例都有 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({
});
我应该如何实现这一观点,以便将这些观点转化为:
<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!