具有自定义事件的Angular 4 dispatchEvent

Bat*_*eva 5 events typescript angular

我的要求是将代码中的事件触发到父托管组件.

我在这里使用第一个答案作为参考:angular2手动触发特定元素上的click事件

如果我尝试这个,它运作良好:

this.itemHost.viewContainerRef.element.nativeElement.dispatchEvent(new Event('click'));
Run Code Online (Sandbox Code Playgroud)

在父组件中我写了这个:

(click)="go()"
Run Code Online (Sandbox Code Playgroud)

当上述代码出现时,它到达go方法.

但是,如果我使用一些自定义事件名称,这不起作用,例如:

this.itemHost.viewContainerRef.element.nativeElement.dispatchEvent(new Event('customEvent'));
Run Code Online (Sandbox Code Playgroud)

并在父组件中:

(customEvent)="go()"
Run Code Online (Sandbox Code Playgroud)

如何使用自定义事件进行操作?

yur*_*zui 10

你的活动没有冒泡.试试吧:

.dispatchEvent(new Event('customEvent', { bubbles: true }));
Run Code Online (Sandbox Code Playgroud)

Plunker示例