1
我想使用此代碼:辛格爾頓裝飾在打字稿
function singleton<T extends { new() }>(constructor: T): T {
return new constructor()
}
@singleton
export default class SomeClass {
constructor() {}
public method(): string {
return 'Hello!'
}
}
console.log(SomeClass.method())
和它的作品。消息「你好!」顯示在控制檯中。但打字稿編譯器說有錯誤:
怎麼了?
很可能編譯器不希望裝飾器將「類」的類型更改爲對象的類型。而且他在那裏的公司很好 - 你不應該這樣做。要寫單例,使用'const SomeClass = {public method():string { return'Hello!' } };並且完成它! – Bergi