@Output上的EventEmitter不起作用

时间:2017-11-01 19:37:51

标签: angular angular-cli

我有一个问题:

@Output() searchFilter = new EventEmitter<string>();

然后

filter() {
this.searchFilter.emit('soy un emit');}

在视图中我称之为:

<input type="text" class="form-control" placeholder="Buscar" [(ngModel)]="searchFilter" (input)="filter()" >

在父母

<app-header (searchFilter)="filter($event)"></app-header>

此代码在其他项目中没有问题,但现在这给了我以下错误

ERROR TypeError: this.searchFilter.emit is not a function

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

[(ngModel)]="searchFilter"

导致输入元素中的字符串被分配给searchFilter,而字符串没有emit方法。

目前还不完全清楚你要提供什么来提供更具体的建议来解决你的问题。

猜测

@Output() searchFilterChange = new EventEmitter<string>();
@Input() searchFilter:string;

filter() {
  this.searchFilterChange.emit('soy un emit');
}
<input type="text" class="form-control" placeholder="Buscar" 
  [ngModel]="searchFilter" (ngModelChange)="filter()" >