TypeScript:在多個檔案中宣告類別的函式
是否可以將類別宣告拆分到不同的檔案?例如屬性、建構子和一些函數在一個檔案,其他函數在另一個檔案?
答案#1
正如MartyIX所寫,這並不被直接支持。
不過,還是有方法可以做到。方法需要被定義為屬性,但這樣做可能會引發繼承問題。
檔案 1:
class Foo {
bar() {}
hello: (world: string) => any;
}
檔案 2:
Foo.prototype.hello = function (world: string) {
console.log('hello ' + world);
};
// Works
new Foo().hello('world');
class Bar extends Foo {}
// Works
new Bar().hello('world');
class Bam extends Foo {}
// Error TS2425
hello () {}
}
答案#2
此功能稱為 partial classes,但目前尚不支援。
你可以對這個錯誤問題加上你的 +1 https://github.com/Microsoft/TypeScript/issues/563 :)
