如何知道渲染函數中視圖模型的哪個屬性發生了更改? (在渲染函數中,「e」是模型,但我只需要改變的屬性)。我需要知道這一點以知道使用哪個模板。還是有另一種方法來做到這一點?backbone.js查看確定模型的哪個屬性發生了變化
window.Person = Backbone.Model.extend({});
window.Njerzit = Backbone.Collection.extend({
model: Person,
url: '/Home/Njerzit'
});
window.PersonView = Backbone.View.extend({
tagName: 'span',
initialize: function() {
_.bindAll(this, 'render');
this.model.bind('change', this.render);
},
render: function (e) {
//if model name is changed, I need to render another template
this.template = _.template($('#PersonTemplate').html());
var renderContent = this.template(this.model.toJSON());
$(this.el).html(renderContent);
return this;
}
});
下面提供的解決方案兩個答案,但最簡單的一個正在使用一個更具體的事件,如更改:您的案例中的attrName更改:名稱... – Sander 2011-12-28 22:07:24