2012-02-15 37 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已被附加到父級後重新呈現它。

我認爲這是家長更好地渲染,並添加孩子:

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);}}); 

現在,如果一本書的變化,它可以重新渲染本身沒有名單甚至不知道。

相關問題