在一个组件中我发出一些数据
@Output() search: EventEmitter<string> =
new EventEmitter<string>();
onChange(searchText) {
this.search.emit(searchText);
console.log(searchText);
};
我如何倾听&#39; searchText&#39;另一个组件的价值?
另一个组件不是第一个组件的孩子。
答案 0 :(得分:2)
您定义输出的方式意味着可以在发生相应事件时通知父组件:
@Component({
template: `
<search (search)="doSomething($event)"></search>
`,
directives: [ SearchComponent ]
})
export class SomeComponent {
doSomething(searchText:string) {
(...)
}
}
假设您描述的组件的选择器是search
。
如果触发事件的组件与侦听事件的组件之间的关系不同,则应考虑在共享服务中使用observable。有关详细信息,请参阅此文档: