0
我有擴展類FrameModel
的類的映射,請參見TypeScript - storing a class as a map value?。TypeScript - 無法重新輸入<typeof FrameModel> window [「FrameModel」];
static mapping: { [key: string]: typeof FrameModel } = {
for (var key in Object.keys(window)){
var val = window[key];
// ... some checks ...
DiscriminatorMapping.mapping[key] = <typeof FrameModel> val;
}
然而,TS不喜歡最後一行,並稱「錯誤TS2352:無論是類型‘窗口’NOR型‘的typeof FrameModel’是分配給其他的。」
在lib.d.ts
的定義是:declare var window: Window;
爲什麼TS應用此的window
過的屬性?
我可以防止與<any>
,但我想知道如何正確地做到這一點。
請注意,我不知道該物業的名稱,所以我不能做像declare window.MyClass: FrameModel
。