TypeScript - 将类存储为映射值?

Ond*_*žka 5 dictionary class typescript

我的课很少。Test~课程延长FrameModel

如何创建从string到 的子类的映射FrameModel

import FrameModel from '../../FrameModel';
import TestShipModel from './TestGeneratorModel';
import TestGeneratorModel from './TestGeneratorModel';
import TestPlanetModel from './TestGeneratorModel';

export class DiscriminatorMappingData
{
    static mapping: { [key: string]: typeof FrameModel } = {
        "TestShip": TestShipModel,
        "TestGenerator": TestGeneratorModel,
        "TestPlanet": TestPlanetModel,
    }
}
Run Code Online (Sandbox Code Playgroud)

这最终会出现错误:

DiscriminatorMappingData.ts(8,5):错误 TS2322:类型 '{ [x: string]: typeof "...' 不可分配给类型 '{ [key: string]: typeof "...'。
索引签名不兼容。
类型 'typeof "...models/T...' 不可分配给类型 'typeof ".../FrameModel"'。
类型 'typeof ".../models/T.. 中缺少属性 'FrameModel'。 .'.

我认为这可以用泛型来完成,但我不确定如何做。

Cur*_*ind 1

(参考评论,这里是问题的解决方案。)

问题似乎在于import语句,并且在导入类时应包含大括号。例如import {FrameModel}...