2016-04-04 8 views
0

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

Antwort

2

Vom fine manual:

verlängernBackbone.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.

Verwandte Themen