2017-06-08 57 views
0

在keyup事件触发时的搜索输入字段中,显示keyup事件后数据再次触发的数据点击事件正在工作,但是我希望一旦keyup或click被触发,不行。防止当keyup事件发生时在angular2中的默认点击事件

这是我在header.html中

<form> 
    <div class="box"> 
     <div class="container-1"> 
      <input type="search" id="search" placeholder="Type 
       your search..." name="searchStr" (keyup.enter)="searchKey(input.value)" 
       [(ngModel)]="searchStr" #input> 
      <a (click)="searchKey(input.value)"><img 
       src="/assets/search.png" class="search-img"></a> 
     </div> 
    </div> 
</form> 

这里是我的形式header.component.ts

searchKey(value: any) { 
    console.log(value); 
    this.router.navigate(['search', { searchkey : value }]); 
} 

预先感谢您。

回答

0

尝试设置一个标志变量,它会检查是否搜索或不喜欢,

export ... { 

    flag = true; 

    searchKey(value: any) { 
     console.log(value); 
     this.flag && this.router.navigate(['search', { searchkey : value }]); 
     this.flag=false; 
    } 

    // don't forget to add a condition when flag must be set to true. 
} 

希望这会帮助你。