【发布时间】:2019-08-09 05:29:09
【问题描述】:
如何将可更新的this 从静态方法传递给静态方法?
abstract class Model {
public static convert<T extends Model>(model: new () => T, data: any | any[]) {
return new model()
}
public static all<T extends Model>(): Promise<[]> {
let items: any[] = []
return Model.convert(this, items)
// ^--- Error is here
}
}
生成的 JavaScript 工作正常,我得到了一个 A 的实例,但是 typescript 抱怨这个错误:
“typeof Model”类型的参数不能分配给“new () => Model”类型的参数。
class Model {
static convert(model, data) { return new model() }
static all() {
let items = [];
return Model.convert(this, items);
}
}
class A extends Model { }
console.log(A.all(), A.all().constructor.name);
【问题讨论】:
标签: javascript typescript