如何在不使用ng-click的情况下在角4/5组件中获取锚定标签单击事件

时间:2018-07-13 11:45:43

标签: javascript angular angular5

我尝试使用@HostListener。但它适用于常规点击。

@HostListener('click') onClick() {
    window.alert('Host Element Clicked');
}

2 个答案:

答案 0 :(得分:0)

有可能必须这样做

@ViewChild('a') anchor:ElementRef; 

clickHandler(event) {
  console.log(event);
}
_clickHandler = this.clickHandler.bind(this);

ngAfterViewInit() {
  this.anchor.nativeElement.addEventListener('click', this._clickHandler); 
}  

退订使用

this.anchor.nativeElement.removeEventListener('click', this._clickHandler); 

答案 1 :(得分:0)

也许您可以尝试使用currentTarget检查点击是否来自锚点

@HostListener('click', ['$event'])
    onClick(event: MouseEvent) {
        console.log(event.currentTarget); // You can put this as a IF condition 
}

希望这会有所帮助!