2012-02-15 16 views
0

非常に小さなロジックを含む単純なビューを持っている場合、または悪い習慣である場合、backbone.js -viewはそれが親要素であることを知ることは意味がありますか?このよう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; 
    } 
}); 

答えて

2

ビューは自身の外何も知らない場合、それは良いです。これにより、再利用が可能になります。

また、あなたの例では、レンダリング時に親に追加しています。ある時点で、BooklistRowがすでに親に追加された後に、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);}}); 

、単一ブックが変更された場合、それも知っリストせずに自分自身を再レンダリングすることができます。

関連する問題