Wo fügen Sie globale Variablen in ExtJS MVC hinzu?

7

Ich frage mich, wo man globale Variablen für eine ExtJS-Anwendung hinzufügen kann. Ich habe bereits einige Vorschläge in stackoverflow angeschaut, die erwähnen, dass Sie sie in app.js hinzufügen können. Aber kann jemand spezifischer sein? Meine app.js sieht ungefähr so ​​aus:

%Vor%

Also, wo genau gehen die Variablen hin? In der Startfunktion? Außerhalb Ext.application ?

    
Art F 13.12.2012, 17:29
quelle

4 Antworten

6

Deklarieren Sie Ihren eigenen Objekt-Namespace und fügen Sie sie dort hinzu:

%Vor%

Allerdings sind Globals normalerweise verpönt, wenn sie nicht unbedingt benötigt werden. Versuchen Sie also, sie zu benutzen, wenn Sie können.

    
Lloyd 13.12.2012, 17:31
quelle
11

Besser wäre es, eine separate Klasse zu erstellen, die solche globalen Konstanten enthält. Dann sollten Sie diese Konstantenklasse als erfordert in app.js einfügen.

%Vor%

Dadurch wird sichergestellt, dass die Klasse geladen ist und Sie können nun auf alle Eigenschaften / globalen Werte zugreifen. Ich habe das gleiche im Detail in meinem Blog erwähnt: link

    
rai.skumar 05.10.2013 13:45
quelle
3

Ich weiß, dass Sie bereits eine Antwort angenommen haben, die in Ordnung ist. Ich wollte nur eine MVC-Methode hinzufügen, um Namespace-Variablen einzuschließen, die der App zur Verfügung stehen. Für diese Globals gibt es eine Einschränkung - Sie können sie nicht in Ihren Klassendefinitionen verwenden. Das heißt, Sie können Ihre App nicht in Ext.define({}) Methoden referenzieren. Sie müssen in initComponent method oder später verwendet werden.

Also hier ist was ich tue:

%Vor%

Um diese anwendungsweiten Variablen zu verwenden, verweisen Sie auf Ihren App-Namespace und verschmutzen somit den globalen Raum nicht. So:

%Vor%     
dbrin 13.12.2012 18:08
quelle
2

Abgesehen von den Features, die in Ext eingebaut werden können, können Sie immer eine direkte Funktion verwenden, um einen Abschluss zu erstellen:

%Vor%     
Adam Rackis 13.12.2012 17:31
quelle

Tags und Links