当一个backbone.js
- 视图知道它的父元素,当你有一个包含很少逻辑的简单视图,或者它是不好的做法时,它是否有意义?
像这样:
var BooklistRow = Backbone.View.extend({
tagName: "li",
parent: "#booklist",
render: function() {
$(this.el).html("<b>" + this.model.get("title") + "</b>");
$(this.parent).append(this.el);
return this;
}
});
答案 0 :(得分:2)
如果一个视图本身不知道什么,那就更好了。这将使其更具可重用性。
同样在您的示例中,您将在渲染上添加父级。在某些时候,您可能希望在将BooklistRow附加到父级后重新呈现它。
我认为父母最好渲染和添加孩子:
var Booklist = Backbone.View.extend({
tagName: "ul",
render: function() {
// maybe should remove existing books here first
this.model.each(this.addOneBook);
return this;
},
addOneBook: function(book) {
var view = new BooklistRow({
model: book
});
$(this.el).append(view.render().el);}});
现在,如果一本书改变了,它就可以重新呈现自己而不知道列表。