Angular 5 - 从组件生成click事件

问题描述 投票:1回答:1

我想在某些条件下从组件内生成click事件。在AngularJs中,我曾经做过:

angular.element(document.querySelector('#someid')).click();

在Angular 2/4/5中,我发现了不推荐的ElementRef。他们说,使用渲染器,但没有发现这样的例子来生成点击事件。

如何在Angular 2/4/5中做到这一点?

angular angular5
1个回答
0
投票

您可以使用renderer2 listen方法。这可以通过以下行完成:

constructor(el: ElementRef, renderer: Renderer2) {
    renderer.listen(el.nativeElement, 'click', event => console.log(event));
  }

https://angular.io/api/core/Renderer2

如果需要在模板文件中获取精确元素,可以使用#someid创建引用

然后在.ts文件中使用:

 @ViewChild('someid) someid: ElementRef

然后再次使用renderer2传递someid.nativeElement

希望这可以帮助!

另一种选择是使用:https://angular.io/api/core/HostListener

© www.soinside.com 2019 - 2024. All rights reserved.