我正在尝试将信息从一个组件传递到另一个组件,并再次从该组件传递信息。
我只是想知道最好的方法是什么。
我曾尝试使用EventEmitter,但似乎遇到了一些问题:
每个按键都有一个输入框我希望它用方框中的当前值调用另一个组件:
HTML:
<input type="text" #box (keyup)="searchValueChanged(box.value)" class="form-control" placeholder="Search for an Application..."/>
JS:
@Output() messageEvent = new EventEmitter<string>();
searchValueChanged(value:string) {
this.messageEvent.emit(value);
console.log(value);
}
然后在另一个组件中,我试图收到消息:
HTML:
<app-menu-top (messageEvent)="receiveMessage(value)"></app-menu-top>
JS:
receiveMessage(value) {
this.message = value;
console.log(this.message);
}
答案 0 :(得分:1)
使用此样式将数据从一个组件传递到另一个组件是正常的。一种解决方案也可以是使用单例服务并在其中进行观察。
undefined
如何 - 将value
更改为$event
<app-menu-top (messageEvent)="receiveMessage($event)"></app-menu-top>
答案 1 :(得分:0)
来自Angular docs,Recipes for common component communication scenarios