afeld/backbone-nested

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

Open

#131 geöffnet am 5. März 2015

Auf GitHub ansehen
 (4 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)JavaScript (83 Forks)github user discovery
Bughelp wanted

Repository-Metriken

Stars
 (439 Stars)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

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
        }
    }
});

Contributor Guide