Typecript: Definieren Sie die Klasse und ihre Methoden in separaten Dateien
-
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.
Lösung
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.
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.