我有許多類的重複類裝飾家庭。一些與此類似:如何編寫多個TypeScript類裝飾器?
@foo
@bar
@baz
export class MyClass { /* ..... */ }
由於我使用的是在多類這三個裝飾,我真的想打破這種分解成一個裝飾,比如:
@standard
export class MyClass { /* ... */ }
我已經試圖創建一個新類裝飾者鏈裝飾要求是這樣的:
export function standard<ReturnType>(ctor: Constructor<ReturnType>) {
return baz(bar(foo(ctor)));
}
打字稿手冊說,應用多種裝飾應該評估類似於函數組合,WH這就是爲什麼我認爲我應該能夠將它們鏈接在一起。然而,來編譯時間(使用打字稿1.8)我得到類似
Unable to resolve signature of class decorator when called as an expression. Type 'Constructor<ReturnType>' is not assignable to type 'void'.
有沒有一種方法,我可以構建這種「包裝」裝飾,簡化我的代碼錯誤?
當我填入空格時,您的代碼對我來說工作正常。你能發佈一個完整的例子來重複你的錯誤嗎? –
試圖給你一個更好的例子,讓我找到解決辦法!查看下面的答案。 –