Как проверить директиву Click outside в угловых значениях? - PullRequest
0 голосов
/ 24 апреля 2019

Я хочу проверить директиву click-outside.Расширение, в частности, игнорирует элемент div при нажатии снаружи.

import { Directive, ElementRef, Output, EventEmitter, HostListener } from 
'@angular/core';

@Directive({
  selector: '[clickOutside]'
})
export class ClickOutsideDirective {
constructor(private _elementRef: ElementRef) {
}

@Output()
public clickOutside = new EventEmitter<HTMLElement>();

@HostListener('document:click', ['$event.target'])
public onClick(targetElement: HTMLElement) {
    const clickedInside = this._elementRef.nativeElement.contains(targetElement);
    const doctorDropdown = document.getElementById('doctor-dropdown-list');
    if (!clickedInside && !doctorDropdown.contains(targetElement)) {
        this.clickOutside.emit(targetElement);
    }
}

}

Я не могу проверить эту часть!

@HostListener('document:click', ['$event.target'])
public onClick(targetElement: HTMLElement) {
    const clickedInside = this._elementRef.nativeElement.contains(targetElement);
    const doctorDropdown = document.getElementById('doctor-dropdown-list');
    if (!clickedInside && !doctorDropdown.contains(targetElement)) {
        this.clickOutside.emit(targetElement);
    }
...