我在角度模式窗口上工作,当我打开模态窗口并在模态窗口外面点击(阴影背景)时,我总是得到错误的div元素类。
示例:我单击模态,然后出现模态类,当我点击阴影背景再次出现模态类时,为什么?另一类应该出现。
以下是代码(打字稿文件):
@ViewChild('ova') ova; //accessing the div via refference tag in html
@HostListener('document:click') onClick($event){
if (this.show)
console.log("display event: "+ this.ova.nativeElement.className)
这是相应的.html文件:
<div class="modalall">
<div *ngIf="closeIt" (click)="close()"n class="modalclose">x</div>
<div #ova class="modal">
some text
</div>
</div>
答案 0 :(得分:1)
试试这个(在指令中更好):
@HostListener('document:click', ['$event', '$event.target'])
onClick(event: MouseEvent, targetElement: HTMLElement): void {
if (!targetElement) {
return;
}
const clickedInside = this.elementRef.nativeElement.contains(targetElement);
if (!clickedInside) {
this.clickOutside.emit(event);
}
}