afeld/backbone-nested

change event not triggered when setting an object that contains an array

Open

#131 aperta il 5 mar 2015

Vedi su GitHub
 (4 commenti) (0 reazioni) (0 assegnatari)JavaScript (83 fork)github user discovery
Bughelp wanted

Metriche repository

Star
 (439 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

var model = new Backbone.NestedModel({
    a: {
        b: [
            { c: 1 },
            { d: 2 }
        ]
    }
});

model.bind('change:a.b[0].c', function() { console.log('c changed.'); });

// The following set triggers the change event:
model.set('a.b[0].c', 3);

// The following does not trigger the change event:
model.set({
    a: {
        b: [
            { c: 4 },
            { d: 2 }
        ]
    }
});

But this works as expected sans array:

var model2 = new Backbone.NestedModel({
    a: {
        b: { 
            c: 1
        }
    }
});

model2.bind('change:a.b.c', function() { console.log('c changed.'); });

// The following set triggers the change event:
model2.set({
    a: {
        b: {
            c: 12
        }
    }
});

Guida contributor