Comment définir une propriété dynamique sur un modèle avec Backbone.js

Histoire:
J'ai beaucoup de propriétés qui doit être défini. Depuis ils ont des similitudes-je choisir pour la lecture de la classe de l'inputbox est partie comme nom de propriété.

Problème:
Une propriété dynamique d'un objet peut être défini, comme un tableau associatif. Si je pouvais faire

var customattribute = this.$el.parents('div').attr('id');
var value = $(e.currentTarget()).val();

this.model.attributes[customattribute] = value;

Mais ce ne serait pas déclencher un événement de changement de modèle. J'ai pu déclencher manuellement un événement de changement, mais ce ne serait pas de mise à jour.de modèle.changedAttributes(), j'ai besoin de définir l'attribut modifié, et pas à chaque attribut.

Bien sûr, cela ne fonctionne pas non plus:

this.model.set(customattribute: value);

Alors, comment aurais-je gérer ce problème?

J'ai BEAUCOUP (+de 200) les attributs qui peuvent être ensemble, je ne voudrais pas faire de séparer eventlisteners pour chaque attribut, sauf si c'est le seul moyen.

Code:

var Display = Backbone.View.extend({
    className: 'display',
    events: {
        'slide .slider' : 'sliderHandler'
    },
    initialize: function(){
        _.bindAll(this, 'render', 'sliderHandler','update');
        this.model.on('change',this.update, this);
    },
    render: function(){
        this.$el.html(_.template(html, {}));
        this.$('.slider').slider();

        return this;
    },
    sliderHandler: function(e){
        var slider = $(e.currentTarget);
        var property = slider.parents('div').attr('id');
        var value = slider.slider('value');

        this.model.attributes[property] = value;            
    },
    update: function(){
        console.log(this.model.changedAttributes());
        //get changed attribute + value here

    },
});

Edit:

Les deux réponses ci-dessous résolu. Mapper les attributs d'un objet et de le donner aux épine Dorsale. J'ai aussi trouvé une autre solution. Au lieu d'un objet, d'un modèle.set() accepte un tableau.

model.set(customattribute, value, customattribute2, value2);

source d'informationauteur Jareish