0
我想用裝飾器擴展一個類,但不知道具體如何。我目前的做法如下:用TypeScript中的裝飾器擴展類
function Foo(value: string) {
return function(target: Function) {
let injected = Object.assign(target.prototype, { foo: value });
return injected;
}
}
@Foo("Hello world")
class Bar {
}
let instance = new Bar();
console.log(instance.foo); // Should say "Hello World"
但我不能實例化我的類了:「TypeError:酒吧不是一個構造函數」。
我的錯誤在哪裏?
可悲的是,這並不工作。 'bar'對象保持不變,試圖讓'instance.foo'結果'Property'foo'不存在於類型'Bar'上。 – nehalist
@nehalist你在tsconfig中有一個標誌'experimentalDecorators'嗎?它正在我的本地和遊樂場工作https://www.typescriptlang.org/play/ –
@nehalist但是如果你正在談論打字稿的警告,那只是因爲TS編譯器無法解決這個屬性。只是檢查在操場中生成的JS –