我想在某些条件下从组件内生成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
希望这可以帮助!