Come posso sapere quale attributo del modello di vista è stato modificato nella funzione di rendering? (Nella funzione di rendering, "e" è il modello, ma ho bisogno solo dell'attributo che è cambiato.) Ho bisogno di sapere questo per sapere quale modello usare. O c'è un altro metodo per farlo?backbone.js Visualizza determinare quale attributo del modello è cambiato
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;
}
});
entrambe le risposte qui sotto offrire soluzioni, ma il più semplice sta usando un evento più specifico come la modifica: attrName nel tuo caso cambia: Nome ... – Sander