2009-07-31 12 views
3

Ich habe eine Singleton-Klasse basiert auf Joose und ich möchte Initialisierung Argumente es wie folgt hinzuzufügen:Joose Singletons Initialisierung Argumente

var programs = Programs.getInstance({ 
    tabContainer: '#tab' 
}); 

TabContainer wird auch als Attribut in den Singleton erklärt.

In meinem nach Methodenmodifikator Initialisierungsmethode, verfolgen ich zu sehen, ob die übergebenen Argumente wie diese gelesen wurde:

after: { 
     initialize: function(){ 
      alert(this.getTabContainer()); 
     } 
    } 

Aber der Alarm erzeugt den Standardwert angegeben, nicht der Initialisierungswert ich an sie übergeben .

Haben Sie eine Idee, wie Sie Argumente an den Singleton in Joose übergeben?

Ich testete die gleiche Sache mit regulären Klassen-Definitionen in Joose und der obige Code warnt das richtige Argument.

Antwort

3

In der Dokumentation für Joose über Singletons und Classes wird in der Klassendokumentation ausdrücklich diese Syntax als etwas erwähnt, das unterstützt wird. Die Singleton-Dokumentation erwähnt dies nicht. Höchstwahrscheinlich wird dies von Joose nicht unterstützt.

Das Problem beim Hinzufügen von Unterstützung für das Singleton ist, dass der zweite Aufrufer der Klasse möglicherweise nicht ihre Initialisierungsparameter angewendet haben, da es nur eine Instanz der Klasse geben kann. Wer sie zuerst aufruft, würde ihre Parameter darauf anwenden.

+0

Ja, das Joose-Entwicklerteam hat dies auch bestätigt. Ich wäre in der Lage, meine eigenen Rollen zu rollen. – Dhana