我有一个存储缓存数据的对象,它应该是这样的:

private data = {
   'some_thing': new DataModel(),
   'another_name': new DataModel()
}

我试图在构造函数中为其分配一个空对象:

this.data = {}; // produces build error

基本上,我需要定义"数据"字段的类型,以表示它将具有随机名称的键和DataModel类型的值.我试着这么做:

private data: Object<DataModel>

但这是无效的.如何指定正确的类型?

推荐答案

应该是:

private data: { [name: string]: DataModel };

然后这应该会起作用:

this.data = {};

Typescript相关问答推荐

与Prettify助手类型中的对象相交?

类型脚本:类型是通用的,只能索引以供阅读.(2862)"

如何正确修复TypScript 4.7到4.8升级中的TS 2345编译错误

如何将类型从变量参数转换为返回中的不同形状?

在键和值为ARGS的泛型函数中未正确推断类型

异步动态生成Playwright测试,显示未找到测试

获取函数中具有动态泛型的函数的参数

如何在Angular 12中创建DisplayBlock组件?

Fp-ts使用任务的最佳方法包装选项

是否有可能避免此泛型函数体中的类型断言?

如何获取受类型脚本泛型约束的有效输入参数

有没有办法在Zod中使用跨字段验证来判断其他字段,然后呈现条件

TypeScrip-根据一个参数值验证另一个参数值

如何连接属性名称和值?

为什么TS2339;TS2339;TS2339:类型A上不存在属性a?

react 路由不响应参数

如何在try 运行独立的文字脚本Angular 项目时修复Visual Studio中的MODULE_NOT_FOUND

在类型脚本中创建显式不安全的私有类成员访问函数

覆盖高阶组件中的 prop 时的泛型推理

如何使用动态生成的键和值定义对象的形状?