如何知道渲染函数中视图模型的哪个属性发生了更改? (在渲染函数中,“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