私は、クラスFrameModel
を拡張するクラスのマップを持っています。TypeScript - storing a class as a map value?を参照してください。TypeScript - <typeof FrameModel>ウィンドウ["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
のようなことはできません。