Wie Sie das update-Attribut eines bestehenden Modells?

Wollte ich aktualisieren die Rang Attribut eines bestehenden Modells, die ich bestanden aus einer anderen Ansicht. Allerdings bekomme ich den Fehler Uncaught TypeError: Object # hat keine Methode "set".

In der initialize-Teil der view habe ich :

this.collection = new tgcollection({model : this.options.model });

Ich eine Funktion definieren, updateModel aktualisieren sollen den Wert des Attributs als:

updateModel: function(){
    var val= $("#textbox_id").val();
console.log(val);   
console.log(JSON.stringify(this.options.model));
JSON.stringify(this.options.model);
this.options.model.set({"rank": val});
this.render();
//
},

Wohin gehe ich falsch?
Ich kann sehen, dass der Wert und das Modell mit seinem vorherigen Attribut-Werte in der Konsole.

Modell:

define(['jquery','underscore', 'backbone', 'deepmodel'], 
       function($,_, Backbone) {
         var model = Backbone.DeepModel.extend({

        //Default attributes for the model.
        defaults : {
            id: null,
                rank: null,

        },

        initialize: function(){
            _.bindAll(this,"update");
                    this.bind('change : cost', this.update);
        },

        update: function(){
            console.log(this.get("cost"));

        },
        //Remove this model from *localStorage*.
        clear : function() {
            this.destroy();
        },

    });
    return model;

});

Können wir den code für das " Rückgrat.Modell' und wie Sie die Einstellung der Optionen.Modell'?
Können wir sehen, den code, wo Sie diese updateModel -Funktion?
Bearbeitet : Hinzugefügt wurde die Funktion update und Optionen.Modell

InformationsquelleAutor Amateur | 2012-08-22

Schreibe einen Kommentar