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'。 .'.
我认为这可以用泛型来完成,但我不确定如何做。