Ich möchte definieren, welche Eigenschaften eine Klasse hat. Wir verwenden Backbone für OOP. Ich habe gelesen, dass das Backbone-Modell seine Eigenschaften erhält, wenn es initialisiert wird, und nur Methoden für die Klasse definiert sind, die extend
verwenden. Aber ich denke, dass das Hinzufügen von explizit definierten Klassenfeldern zur Lesbarkeit beiträgt. Gibt es eine Konvention, wie man das macht?Was ist die Konvention zu definieren Backbone-Modelle Klasseneigenschaften/Felder
0
A
Antwort
2
Vom fine manual:
verlängern
Backbone.Model.extend(properties, [classProperties])
[...] sowie optional classProperties direkt an den Konstruktor Funktion angebracht werden.
Ebenso für collections, routers und views.
Um ein Klassenmethode auf einem Modell zu definieren:
var M = Backbone.Model.extend({
// instances methods and properties go here...
}, {
some_class_method: function() { ... }
});
M.some_class_method(); // Then this will work.
0
Backbone-Modelle halten Daten im attributes
Schlüssel so
model = new Backbone.Model({foo:'bar'});
model.attributes.foo === 'bar';
und Sie sollten Zugang zu den Daten mit model.get()
model.set()
die Abfeuern verwalten Ereignisse.
Sie können auch in Backbone-Modelle Kreationen mit initilize
Methode oder durch Neuschreiben constructor
(Sie können sich MarionetteJS Ansichten für eine Inspiration) Haken.