Ich versuche, einige Klassen mit ES2015-Modul-Syntax mit TypeScript zu komponieren. Jede Klasse implementiert eine Schnittstelle in einer Datei .d.ts
.TypeScript TS2322: Typ 'typeof Foo' ist nicht dem Typ 'IFoo' zuweisbar
Hier ist ein MWE des Problems.
In einer .d.ts
Datei ich habe:
interface IBar {
foo: IFoo;
// ...
}
interface IFoo {
someFunction(): void;
// ...
}
Mein Export ist:
// file: foo.ts
export default class Foo implements IFoo {
someFunction(): void {}
// ...
}
// no errors yet.
Und mein Import ist:
import Foo from "./foo";
export class Bar implements IBar {
foo: IFoo = Foo;
}
Der Fehler ist hier:
error TS2322: Type 'typeof Foo' is not assignable to type 'IFoo'.
Property 'someFunction' is missing in type 'typeof Foo'.
Irgendwelche Ideen hier?
Rookie Fehler, dachte ich habe etwas mit TypeScript falsch gemacht, wenn es ein Problem mit dem tatsächlichen JS war ... Danke. – azz
Prost. Bitte als beantwortet markieren – basarat
Natürlich. SO lässt Sie 10 Minuten warten, bevor Sie akzeptieren. – azz