Ich lerne TypeScript und ich verstehe keine Dinge über Schnittstelle.Wie Duplizierungsschnittstelle in TypeScript vermieden werden kann
interface IMyClass extends MyClass {
color: number;
IsResizable: boolean;
title: string;
}
class MyClass {
added: string;
//color: number;
//IsResizable: boolean;
//title: string;
constructor(element: HTMLElement) {
}
test() {
var that: IMyClass = <IMyClass>this; // Error
}
}
Ich habe diesen Fehler:
Severity Code Description Project File Line Suppression State
Error TS2352 Neither type 'this' nor type 'IMyClass' is assignable to the other.
Type 'MyClass' is not assignable to type 'IMyClass'.
Property 'color' is missing in type 'MyClass'. TypeScrip app.ts 17 Active
Der Fehler verschwinden, wenn ich Attribute Kommentar-. Meine Frage ist also: Muss ich Schnittstellenattribute in meine Klasse kopieren? Was ist, wenn ich eine riesige Schnittstelle habe? Irgendeine andere Lösung?
vielleicht in der Dokumentation Schnittstellen aus dem Handbuch lesen wird helfen, die Rolle der Schnittstellen in Typescript zu klären? https://www.typescriptlang.org/docs/handbook/interfaces.html – toskv
Vielleicht können Sie erklären, was Sie versuchen zu tun? Normalerweise geht es umgekehrt, die Klasse implementiert eine Schnittstelle. –
Sie haben eine Schnittstelle definiert, die eine Unterklasse von MyType ist. Denk einfach darüber nach, MzClass hat keine Farbe, aber du versuchst es IMyClass zuzuordnen –