Ich habe eine einfache Frage zu Backbone.js' get und set - Funktionen.
1) Wie kann ich mit dem folgenden Code obj1.myAttribute1 direkt 'abrufen' oder 'setzen'?
Eine andere Frage:
2) Wo kann / sollte ich im Modell neben dem Standardobjekt die anderen Attribute meines Modells deklarieren, damit auf sie über die get- und set-Methoden von Backbone zugegriffen werden kann?
var MyModel = Backbone.Model.extend({
defaults: {
obj1 : {
"myAttribute1" : false,
"myAttribute2" : true,
}
}
})
var MyView = Backbone.View.extend({
myFunc: function(){
console.log(this.model.get("obj1"));
//returns the obj1 object
//but how do I get obj1.myAttribute1 directly so that it returns false?
}
});
Ich weiß, dass ich tun kann:
this.model.get("obj1").myAttribute1;
aber ist das eine gute Praxis?
defaults
Dies ist zwar keine Antwort auf die Frage: Wenn Sie in (obj1 in diesem Fall) ein Objekt angeben (alles, was als Referenz übergeben wird), wird dasselbe Objekt für alle Instanzen des Modells freigegeben. Die derzeitige Praxis besteht darin,defaults
eine Funktion zu definieren , die ein Objekt zurückgibt, das als Standard verwendet werden soll. backbonejs.org/#Model-defaults (siehe den kursiven Hinweis)