首页 > 解决方案 > 将 keyof 与通用函数和 newable 一起使用

问题描述

我正在尝试创建一个如下所示的函数:

export function getModel<T extends object>(model: new () => T, properties: { [key: keyof T]: any }): T {

}

我遇到的问题是key错误说:

索引签名参数类型必须是“字符串”或“数字”。

基本上这应该做的是获取类引用,并且您应该能够将类引用中的属性列表传递给第二个参数。

export class A {
  public b: string;
  public c: boolean;
}

getModel(A, { b: 'cat', c: false});

所以,我想要的是键是对象内类中的属性列表。如何才能做到这一点?

标签: javascripttypescript

解决方案


推荐阅读