Как получить событие щелчка тега якоря в угловом компоненте 4/5 без использования ng-click на каждом ярлыке привязки

Лучший вариант, который я нашел, ниже. Он будет извлекать число и может устранить любой тип char.

def extract_nbr(input_str):
    if input_str is None or input_str == '':
        return 0

    out_number = ''
    for ele in input_str:
        if ele.isdigit():
            out_number += ele
    return float(out_number)    
2
задан RahulRJ7 13 July 2018 в 11:45
поделиться

2 ответа

Возможно, вы можете попробовать использовать currentTarget, чтобы проверить, находится ли клик от привязки или нет

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

Надеюсь, что это поможет!

0
ответ дан David R 17 August 2018 в 13:02
поделиться

Это возможно сделать [императив]

@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); 
0
ответ дан Rohit.007 17 August 2018 в 13:02
поделиться
  • 1
    Я читал, что использование ElementRef - плохая практика. – RahulRJ7 13 July 2018 в 11:56
  • 2
    Большинство библиотек зависят от ElementRef, пожалуйста, поделитесь ссылкой, которую я бы хотел прочитать. – Rohit.007 13 July 2018 в 11:58
  • 3
    [Д0] medium.com/@kmathy/… – RahulRJ7 13 July 2018 в 12:02
  • 4
    Хорошо, но, пожалуйста, внимательно прочитайте, это для манипуляций не для слушателей – Rohit.007 13 July 2018 в 12:04
Другие вопросы по тегам:

Похожие вопросы: