Backbone Listen To Object Changes In Model
Can I listen to any changes in one object in Model? I know how to listen model changes, but I need only to listen objects in model and view. var view = Backbone.View.extend({ f
Solution 1:
This is exactly what models are for - not just fetching data from a server but also passing data around your app.
When you want to be informed about changes to some data you don't create a custom variable you use attributes.
varMyModel = Backbone.Model.extend({
initialize: function() {
// Listen to changes on itself.this.on('change:asd', this.onAsdChange);
},
onAsdChange: function(model, value) {
console.log('Model: Asd was changed to:', value);
}
});
varMyView = Backbone.View.extend({
initialize: function() {
// Listen to changes on the model.this.listenTo(this.model, 'change:asd', this.onAsdChange);
},
onAsdChange: function(model, value) {
console.log('View: Asd was changed to:', value);
}
});
var myModel = newMyModel();
var myView = newMyView({
model: myModel
});
myModel.set('asd', 'something');
myModel.set('asd', 'something else');
Fiddle: http://fiddle.jshell.net/ferahl/4fxtZ/
Solution 2:
you can listen to model's change event using
initialize: function(){
this.listenTo(this.model, 'change', function(select){
console.log(select.changed) //NEED TO SHOW ON ADDING ANY DATA TO this.func
});
}
Post a Comment for "Backbone Listen To Object Changes In Model"