使用Angular中的渲染器从锚标记中侦听单击事件

时间:2018-04-03 14:39:00

标签: angular

根据我必须导航到该页面的特定锚标签,我的新闻文章中有不同的锚标签。

它与addEventListener一样正常工作

 var anchors = this.element.nativeElement.getElementsByTagName("a"); 

    if (anchors.length != 0) {
      for (var i = 0, length = anchors.length; i < length; i++) {
        var anchor = anchors[i];
        anchor.addEventListener('click', this.handlelinks.bind(this))
      };
    }

现在我必须使用角度渲染器点击每个锚标签点击

var anchors = this.element.nativeElement.getElementsByTagName("a"); 

    if (anchors.length != 0) {
      for (var i = 0, length = anchors.length; i < length; i++) {
        var anchor = anchors[i];
        this.renderer.listen(this.element.nativeElement, 'click', this.handlelinks.bind(this))
      };
    }

但是它会在页面中每次点击一下,如何只使用锚点标记来实现此目的。

1 个答案:

答案 0 :(得分:0)

使用Angular,您只需使用“()”表示法从模板中添加en事件侦听器即可。 例如,如果您可以在链接上收听点击事件:

<a (click)="handleLink()">My link</a>

在你的班上:

class MyComponent {

   handleLink () { // do your stuff }

}

希望有所帮助