angular typescript - 输入EventEmitters

时间:2017-09-17 13:46:45

标签: angular typescript types eventemitter

我希望将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

在组件

@Output() eventOutput:EventEmitter<EventActions> = new EventEmitter();

我得到一个装饰器在这里无效的错误 我的IDE说类型EventEmitter不是通用的。

我真的不明白这个错误。请帮忙!

干杯

1 个答案:

答案 0 :(得分:0)

我的问题是@JB Nizet 在评论中提到的不正确的导入。我正在从 EventEmitter 导入 events。相反,导入需要是 import { EventEmitter } from '@angular/core'

然后我就可以像这样指定一个类型:

@Output('search-term') searchTerm: EventEmitter<string> = new EventEmitter();