首页 文章

Angular 5 - 从组件生成click事件

提问于
浏览
1

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

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

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

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

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

相关问题