在角度2输出后如何监听事件?

时间:2016-06-07 12:15:36

标签: javascript typescript angular output

在一个组件中我发出一些数据

@Output() search: EventEmitter<string> =
      new EventEmitter<string>(); 

onChange(searchText) {
    this.search.emit(searchText);
    console.log(searchText);
  };

我如何倾听&#39; searchText&#39;另一个组件的价值?

另一个组件不是第一个组件的孩子。

1 个答案:

答案 0 :(得分:2)

您定义输出的方式意味着可以在发生相应事件时通知父组件:

@Component({
  template: `
    <search (search)="doSomething($event)"></search>
  `,
  directives: [ SearchComponent ]
})
export class SomeComponent {
  doSomething(searchText:string) {
    (...)
  }
}

假设您描述的组件的选择器是search

如果触发事件的组件与侦听事件的组件之间的关系不同,则应考虑在共享服务中使用observable。有关详细信息,请参阅此文档: