Angular. Обработка клика за пределами элемента
Запись от 25.06.2017
Определение клика за пределами компонента или любого элемента определяется следующим кодом:
import {Component, ElementRef, HostListener} from '@angular/core';
@Component({})
export class SomeComponent {
constructor(private el: ElementRef) {}
@HostListener('document:click', ['$event'])
onClick(event: Event) {
if (!this.el.nativeElement.contains(event.target)) {
// action
}
}
}
В данном случае используется html-элемент компонента this.el.nativeElement, но также можно выбрать и любой другой элемент.
Идея взята отсюда: https://stackoverflow.com/a/35713421/6483146