Wenn Sie sich den Quelltext ansehen, ruft die Funktion get
nur this.attributes[name]
auf.
Der Vorteil ist jedoch mindestens zweifach:
1) eine konsistente API, die die Menge an Code reduziert, die Sie schreiben
2) die Möglichkeit, die Methode get
zu überschreiben und eine komplexere Zugriffssteuerung bereitzustellen
Beispielsweise gibt es mehrere Plugins für Backbone, die die Funktionsweise von Modellen überschreiben, um geschachtelte Modellfunktionen bereitzustellen. Es ist sehr einfach für sie, dass Sie eine get Methode wie folgt schreiben können:
model.get("submodel.attr")
und parse das attr
des submodel
Submodells aus. Ohne die get-Methode wäre es schwieriger, dies mit der API konsistent zu machen.
Der grundlegende Nutzen davon ist jedoch die Kapselung. Bis JavaScript echte Get / Set-Eigenschaften liefert, mit denen wir Code für Getter und Setter schreiben können, werden wir mit Methoden wie Backbones get
und set
fertig sein.
Nun, für den Anfang ist model.attribute
absolut NICHT korrekt. model.set()
ist erforderlich, damit change
-Ereignisse ausgelöst werden. Sie werden dies sehr wahrscheinlich vergessen, wenn Sie sich angewöhnen, model.attributes[attribute]
anstelle von model.get(attribute)
Tags und Links javascript backbone.js