Ich bin ziemlich neu in TypeScript (1.8) und ich habe ein kleines Problem mit Vererbung und statischen Eigenschaften.TypeScript: statische Eigenschaften und Vererbung
Nachstehend finden Sie den Testcode ich zur Zeit läuft:
class A {
public static Items = {
FOO: 'A'
};
public show() {
alert(this.constructor.Items.FOO);
}
}
class B extends A {
public static Items = {
FOO: 'B'
};
}
var a = new A();
var b = new B();
a.show(); // alert "A"
b.show(); // alert "B"
Dieser Code läuft gut und die beiden Warnungen werden wie erwartet gezeigt.
ABER Typoskript Compiler wirft einen Fehler: Property "Items" does not exist on type "Function"
verstehe ich die Warnung und es ist völlig richtig von einer Typoskript Sicht, aber wie kann ich das gleiche Ergebnis erzielen, während die Compiler glücklich zu machen? this.Items.FOO
funktioniert offensichtlich nicht und ich fand keine self
Äquivalent oder so ähnlich ...
Fehle ich etwas?
Vielen Dank im Voraus!
Beachten Sie, dass Ihre 'show' Methode funktioniert nicht, wenn Sie eine zusätzliche Unterklasse einzuführen, die * nicht * haben ein statisches' Elemente ' Eigentum, z 'class C erweitert A {}' –