如何侦听在其指令中的组件中生成的自定义事件?

时间:2019-10-24 05:31:55

标签: angular-directive event-listener custom-events

我需要在Angular Component中创建一个Custom事件,并在指令中对其进行处理。如何实现

我尝试在组件中使用@Output并在指令中使用@HostListner来查看我是否能够收听此消息,但失败了。了解这是一个自定义事件,而不是默认事件,例如单击或鼠标悬停。

@Component({
...
template: `<div appOnInit> </div>
...
})
...
// In the component class
@Output() initReady: EventEmitter<string> = new EventEmitter();

ngOnInit() {
   ....
   this.initReady.emit('');
}

==========
// Directive
@Directive({
    selector: '[appOnInit]'
})
export class OnInitDirective {

    constructor() { }

    @HostListener('initReady', ['$event'])
    onInitReady(event: string) {
        console.log('Init info:' + event);
    }

}

需要具有侦听组件中生成的自定义事件的功能。还是我应该在这里使用其他机制?

请帮助,谢谢。

0 个答案:

没有答案