Wie kann ich eine statische Backbone.Model-Funktion von einer Instanz dieses Modells aufrufen, ohne den Modellnamen anzugeben?

8

Ich habe statische Eigenschaften, auf die ich von Instanzen meiner Backbone.Model-Objekte zugreifen möchte. Ich weiß, dass ich den Elternkonstruktor fest codieren könnte, um die Methode aufzurufen, aber das verhindert, dass ich polymorphe statische Funktionen habe. Ich möchte zum Beispiel die Funktion foo in ExtendedInventory bei Bedarf überschreiben können, ohne irgendeinen anderen Code ändern zu müssen.

%Vor%     
aw crud 28.06.2011, 18:39
quelle

2 Antworten

2

Was funktioniert in Ihrem Beispiel nicht genau? In Firefox und IE bekomme ich zwei Popups mit 'bar', die wie das beabsichtigte Ergebnis aussieht? Der statische Teil scheint sich ebenfalls gut zu verhalten, siehe dieses Spiel .

(Das ist mit der HEAD-Version von Backbone, übrigens; weiß nicht, ob das einen Unterschied macht)

    
Paul 28.06.2011, 21:28
quelle
4

Hmm. Obwohl der obige Code funktioniert, würde ich es nicht so lassen. Wenn die Funktion über ein Objekt der Klasse logisch zugänglich ist, definieren Sie eine Instanzmethode in der Basisklasse, die die Funktion class / static aufruft. Dies macht den Code sauberer und klarer, denke ich (und die Kunden müssen sich nicht an die etwas arkane Syntax erinnern):

%Vor%     
Ed Ruder 30.06.2011 16:32
quelle