8
Я пытаюсь составить некоторые классы с использованием синтаксиса модуля ES2015 с помощью TypeScript. Каждый класс реализует интерфейс в файле .d.ts
.TypeScript TS2322: Тип 'typeof Foo' не может быть присвоен типу 'IFoo'
Вот проблема MWE.
В .d.ts
файле у меня есть:
interface IBar {
foo: IFoo;
// ...
}
interface IFoo {
someFunction(): void;
// ...
}
Мой экспорт:
// file: foo.ts
export default class Foo implements IFoo {
someFunction(): void {}
// ...
}
// no errors yet.
И мой импорт:
import Foo from "./foo";
export class Bar implements IBar {
foo: IFoo = Foo;
}
Ошибка здесь:
error TS2322: Type 'typeof Foo' is not assignable to type 'IFoo'.
Property 'someFunction' is missing in type 'typeof Foo'.
Любые идеи здесь?
Ошибка новичков, думал, что я делал что-то неправильно с TypeScript, когда это было проблемой с фактическим JS ... Спасибо. – azz
Cheers. Пожалуйста, отметьте как ответ – basarat
Конечно. SO заставляет вас ждать 10 минут до принятия. – azz