¿Cómo puedo saber qué atributo del modelo de vista se cambia en la función de hacer? (En la función de renderizado, "e" es el modelo, pero solo necesito el atributo que se cambia). Necesito saber esto para saber qué plantilla usar. ¿O hay otro método para hacer esto?Backbone.js Ver determinar qué atributo del modelo es el cambio
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;
}
});
ambas respuestas a continuación ofrecen soluciones, pero la más fácil está usando un evento más específico como el cambio: attrName en su caso cambia: Nombre ... – Sander