的視角通常希望使用這些屬性的對象,然後才能呈現:有沒有辦法將Model的.change()觸發器綁定到View的.render()函數而不創建多個?
{ el: '#someelement', model: someModel }
的視角也讓我們模型的事件綁定到功能視圖:
initialize: function() {
this.model.bind('change', this.renderFromModel, this);
},
render: function() {
$(this.el).html(this.template(this.model.toJSON()));
return this;
},
renderFromModel: function() {
var t = _.template($('#some-template').html());
$('item-' + this.cid).html(t(this.toJSON()));
return this;
},
的問題是,我們第一次實例化一個視圖進行渲染時,它期待着一個帶有模型的對象;第二次在模型中調用視圖時,它不是。因此,我最終創建了兩個render()函數。
是否有更好的方法來實現單個項目渲染,也可以響應model.change()事件?
哦,geeze,謝謝!我想我真的需要閱讀underscore.js – rkw
你可以使用這個。$ el而不是$(this.el):http://backbonejs.org/#View-$el(文檔) – Fabdrol