afeld/backbone-nested

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

Aberta

#131 aberto em 5 de mar. de 2015

 (4 comentários) (0 reação) (0 responsável)JavaScript (83 forks)github user discovery
Bughelp wanted

Métricas do repositório

Stars
 (439 estrelas)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

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

Guia do colaborador