Ich habe eine Typescript-Klasse, die ein generisches Element enthält, das eine andere Klasse erweitern und eine Schnittstelle implementieren muss. Hier ist ein Beispiel
%Vor%Dies ist die Art von Syntax, die ich anderswo gesehen habe, aber gibt es eine Möglichkeit, dies in Typescript zu tun?
bearbeiten: Versuche das folgende in den Spielplatz einzufügen: Ссылка
%Vor%Bearbeiten 2: Beantworten und Begründen
(Ich entschuldige mich, das erste Beispiel hatte ein paar Fehler!) Ich habe die richtige Antwort unten markiert, obwohl es wahrscheinlich ein paar Hinweise benötigt, wie in diesem GitHub-Thema beschrieben ( Ссылка )
Mit dem folgenden Code können Sie sehen, dass die Methodik funktioniert.
Das einzige, was noch zu sagen ist, dass der Versuch, implement
der Schnittstelle von einer Klasse, die die Basisklasse nicht erweitert, zu versuchen, ebenfalls fehlschlägt. Da die Typoskriptprüfung jedoch basierend auf der Struktur des Objekts ist, wird sie erfolgreich ausgeführt, wenn Sie der Klasse die Eigenschaft name
manuell hinzufügen.
Dies ist auch der Grund, warum es mit der ModelCorrect
, die extends
, aber nicht implements
erreicht.
Es sieht so aus, als ob dies der einzige Weg ist, den ich finden kann. Nicht perfekt sauber, aber es macht das Richtige.
%Vor%Hier ist ein Screenshot vom Spielplatz, der bestätigt, dass es funktioniert:
Bearbeiten: Die richtige Problemumgehung wurde hinzugefügt.
Tags und Links typescript