Typecript: Definieren Sie die Klasse und ihre Methoden in separaten Dateien

StackOverflow https://stackoverflow.com//questions/12706290

  •  13-12-2019
  •  | 
  •  

Frage

Ist es möglich, eine Klasse in einer Datei zu deklarieren und seine Methoden in separaten Dateien zu definieren?

Ich habe einige Klassen mit viel von Methoden und wäre großartig, wenn ich sie ein bisschen ausbreiten könnte.

War es hilfreich?

Lösung

kurze antwort: tasterscript unterstützt nicht die Spaltung einer Klassendefinition in mehrere Dateien.

Problemumgehung : Sie können eine Schnittstelle definieren, die Mitglieder für die Klasse enthält, und zwei verschiedene Klassen, die diese Schnittstelle implementieren. Dann mischen Sie dann Eigenschaften von einer Klasse zur anderen, um eine kombinierte Klasse zu erstellen. Zum Beispiel:

largeclass.a.ts

generasacodicetagpre.

largeclass.b.ts

generasacodicetagpre.

uage.ts

generasacodicetagpre.

Dies funktioniert nicht, wenn Sie Konstrukteure für die Klasse benötigen. Und wirklich ist es suboptimal ... Workaround Keine desto weniger :)

oh, übrigens, diese funktioniert, weil typecript nicht unbeglaubte Eigenschafts- / Feldtypdeklarationen für Klassen emittiert - es verwendet sie nur für die Typprüfung.

Ich erkenne auch, dass Sie dies ohne Schnittstellen und nur das Klassenkonstrukt in einem hübscheren Weg tun können ... Ich verlasse, wie Sie das als Übung an Leser für jetzt tun können ...

Andere Tipps

Sie können Ihre Funktionen aus anderen Dateien als die Klasse selbst importieren

Hier ist das Beispiel der Klassendatei:

generasacodicetagpre.

Hier ist das Beispiel einer Funktionsdatei:

generasacodicetagpre.

Wichtiger Hinweis: Stellen Sie sicher, dass jede exportierte Funktion keine Pfeilfunktion ist, da Sie nicht in einer Pfeilfunktion binden können

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top