【发布时间】:2020-10-20 22:29:06
【问题描述】:
我有一个界面:
export interface PostEventTypeMap {
changePrice: number;
changeQuantity: number;
signalConnected: boolean;
signalDisconnected: boolean;
}
我如何定义类型别名:
type PostEvent = {
type: keyof PostEventTypeMap,
value: **Value based on key value and PostEventTypeMap**
};
我无法将 postEvent 属性设为通用:
PostBoxService {
get postEvent(): Observable<PostEvent> {
return getOrCreateValue(this, "postEvent", () => new BehaviorSubject(null));
}
}
服务用例:
postBoxService
.postEvent
.subscribe(event => {
if (!event)
return;
switch (event.type) {
case "changePrice":
this.changePrice(event.value);
break;
case "changeQuantity":
this.changeQuantity(event.value);
break;
}
});
【问题讨论】:
标签: typescript