我有以下界面
export interface DefElement<G> {
id: string;
element: G;
}
export interface DefEvent<T> {
type: T;
value: any;
}
我希望能够设置属性的类型type和element.
所以就像DefElement<elementType>那时 G 将是ElementType
所以直到现在一切正常。
我想创建一个类,该类使用这两个接口和绑定类型。所以我希望能够进行以下调用
ServiceHandler<DefElement<ElementType>,DefEvent<EventType>>()
所以我做了以下
export class ServiceHandler<T,G> {
}
这样做有两个问题。
1) 我不能保证 G,T 尊重 DefElement 和 DefEvent 接口
2)如果我 let myVar:T;then myVar.value,它会说类型 T 上没有类型
所以我尝试执行以下操作
export class ServiceHandler<DefElement<G>,DefEvent<T>> {
}
但它说我不能做“双重通用”
我想用后者,因为总会定义一些属性,但是不指定父接口,会出现编译错误“值不存在”
我的问题是如何实现这个双 g