2016-03-01 11 views
11

Gibt es eine Möglichkeit, um eine statische Klasse in Typoskript zu erstellen, node.jsStatische Klasse in Typoskript

Ich möchte eine statische Klasse erstellen, dass alle Konstanten und String zu halten.

was könnte der beste Weg sein, das zu tun?

+2

Gibt es ein Problem mit der Verwendung eines Objekts? – Marie

Antwort

29

Sicher, dass Sie eine Klasse mit statischen Eigenschaften definieren:

export class Constants { 
    static MAX_VALUE = 99999; 
    static MIN_VALUE = 0; 
} 

es dann verwenden, wenn Sie brauchen:

import { Constants } from '../constants'; 
console.log(Constants.MAX_VALUE); 
+0

das ist etwas, was ich gesucht habe, Danke Man –

+0

@ArunTyagi Gern geschehen. –

7

Sie können Ihre gewünschten Variablen und Funktionen in ein Modul einfügen, was bedeutet, dass sie nicht instanziiert werden müssen.

module constants { 
    export var myValue = 'foo'; 

    export function thisIsAStaticLikeFunction() { 
     console.log('function called'); 
    } 
} 

..... 
console.log(constants.myValue); 

Es gibt wirklich nicht so etwas wie eine echte statische Klasse, aber das kommt der Replikation ziemlich nahe.

+0

+1 Sehr gut, danke! Mein Problem beim Zugriff auf ein statisches Mitglied einer Unterklasse wurde gelöst: 'App.Commands.mainMenuCommand'. – IngoB

1

Jetzt können Sie Aufzählungen wie das verwenden:

export enum Numbers { 
    Four = 4, 
    Five = 5, 
    Six = 6, 
    Seven = 7 
} 

Dann benutze es:

import { Numbers } from './Numbers'; 
Numbers.FIVE 
+0

Sollte die akzeptierte und korrekte Antwort sein. Andere hatten Recht mit dem Äquivalent zu statischen Klassen in Maschinenschrift, aber für den Zweck des Thread-Öffners sollte dies der richtige Weg sein. –