Rückgrat: Id nicht eingestellt Modell
Habe ich versucht Folgendes ein, um eine id zu meinem Modell:
var globalCounter = 1;
var Model = Backbone.Model.extend({
initialize: function () {
this.id = globalCounter;
globalCounter += 1;
}
});
myModel = new Model();
console.log(myMode.get('id')); //prints undefined
Wie kann ich eine id zu meinen Modellen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die
set()
- Funktion statt (http://jsbin.com/agosub/1/);Müssen Sie :
statt
this.id = globalCounter;
Fügen Sie die id-Wert für das Modell-Objekt, aber Sie Sie hinzufügen möchten, um Modell.Attribute Objekt. Und das, was du tust-Modell.die set () - Methode.
model.set("key", value)
wird der Wert inmodel.attributes.key;
model.get("key")
wird der Wert innerhalbmodel.attributes.key
Dies ist ein wenig seltsam für Neulinge auf Rückgrat, aber es ist ein wichtiger (und einfacher) Punkt zu bekommen. Es ist so konzipiert, dass mit
model.set(...)
ausgelöst wird, ändern Sie Ereignisse, die Sie leicht fangen können, aktualisieren Sie Ihre Ansichten.Rückgrat und ES6-Update :
Das Rückgrat Attribut-Objekt ist outdates von ES6 Getter und setter. Diese Funktionen können überschreiben die standard-Zugang.
Achtung : dies ist pseudo-code, der möglicherweise eines Tages verwendet, mit ES6 !
Dies würde es erlauben, zu schreiben :
Als heute, dies ist nur ein Traum von einer Backbone-2. Nach grundlegenden Recherchen, die ich gesehen habe nichts darüber kommen.