事件传播在角度 4 中不起作用

Event propogation not working in angular4

我有这样的 div 结构:

<div [ngClass]="showDragDrop == true ? 'show' : 'fade' " 
                      (click)="hideWindow($event); $event.stopPropagation()">
     <input type="file" (change)="uploadFile($event)" .../>
</div>

基本上在 hideWindow() 方法上我设置了 showDragDrop =false 这让我的 div 隐藏起来。

我的问题是,我在这个 div 中有一个 input='file' 按钮,当我点击它时它会触发 hideWindow() 方法。

我试过了

 hideWindow(event) {    
    event.stopPropagation();
    this.showDragDrop=false;
  }

这个

(event)="doSomething($event); $event.stopPropagation()"

还有这个

(event)="doSomething($event); false"

但它不起作用

event.stopPropagation();移动到输入的click()

<input type="file" (click)="removetheClick($event)" ...>

removetheClick(event){
   event.stopPropagation();   
}

Demo

或者,更简洁的版本,正如@yurzui 所建议的:

<input type="file" (click)="$event.stopPropagation()" ...>