我想在某些条件下从组件内生成click事件 . 在AngularJs中,我曾经做过:
angular.element(document.querySelector('#someid')).click();
在Angular 2/4/5中,我发现 ElementRef 不推荐 . 他们说,使用渲染器,但没有发现这样的例子来生成点击事件 .
如何在Angular 2/4/5中做到这一点?
您可以使用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
1 回答
您可以使用renderer2 listen方法 . 这可以通过以下行完成:
https://angular.io/api/core/Renderer2
如果您需要在模板文件中获取确切元素,可以使用 #someid 创建引用
然后在.ts文件中使用:
然后再次使用renderer2传递 someid.nativeElement
希望这可以帮助!
另一种选择是使用:https://angular.io/api/core/HostListener