【发布时间】:2018-05-15 05:23:42
【问题描述】:
我有两个类:模型和用户。用户扩展模型。
export Model {
id: number;
static fromData<T>(data: any): T {
return Object.assign(new Model(), data);
}
}
export User extends Model {
name: string;
sayHi(): string {
return 'Hi, ' + this.name;
}
}
我想使用它的方式是这样的:
const currentUser = User.fromData(dataFromServer);
const message = currentUser.sayHi();
方法 hi() 不起作用,因为我创建了 Model 类的实例。
如何使用 TypeScript 泛型通过基类静态方法获取派生类的实例?
我正在计划一些具有共同点的不同实体。
我看到了this answer,但我不知道如何将参数传递给我的静态方法。
【问题讨论】:
标签: typescript design-patterns factory-pattern