[英]angular typescript - typing EventEmitters
I want my EventEmitter to be typed to a set of classes我希望我的 EventEmitter 被输入到一组类中
export const EVENT_ACTIONS = {
OPEN_EVENT: "OPEN_EVENT",
OPEN_REGISTRATION: "OPEN_REGISTRATION"
}
export class OpenEventAction { type = EVENT_ACTIONS.OPEN_EVENT; constructor(public payload: SbEvent) { } }
export class OpenRegistrationAction { type = EVENT_ACTIONS.OPEN_REGISTRATION; constructor(public payload: SbEvent) { } }
export type EventActions
= OpenEventAction
| OpenRegistrationAction
In Component在组件中
@Output() eventOutput:EventEmitter<EventActions> = new EventEmitter();
I'm getting a Decorators are not valid here error and my IDE says Type EventEmitter ist not generic.我收到一个装饰器在这里无效的错误,我的 IDE 说类型 EventEmitter 不是通用的。
I don't really understand this error.我真的不明白这个错误。 Please help!请帮忙!
Cheers干杯
The problem for me was the incorrect import as mentioned by @JB Nizet in the comments.我的问题是@JB Nizet 在评论中提到的不正确的导入。 I was importing EventEmitter
from events
.我正在从events
导入EventEmitter
。 Instead the import needed to be import { EventEmitter } from '@angular/core'
.相反,导入需要import { EventEmitter } from '@angular/core'
。
Then I was able to specify a type like so:然后我能够指定一个类型,如下所示:
@Output('search-term') searchTerm: EventEmitter<string> = new EventEmitter();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.