2017-10-18 50 views
0

我試圖將信息從一個組件傳遞到另一個組件,並將該組件的信息再次傳回。在組件之間傳遞數據問題

我只是想知道什麼是最好的方法來做到這一點。

我曾嘗試使用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); 
} 
  1. 這是由我來傳遞數據的最佳方式?
  2. '價值'怎麼會變得未定義(空)?

回答

1

使用此樣式將數據從一個組件傳遞到另一個組件是正常的。一種解決方案也可以是使用單件服務並可以觀察到它。

什麼undefined - 改變value$event

<app-menu-top (messageEvent)="receiveMessage($event)"></app-menu-top> 
+0

由於這個工作。我快到了!如果需要在兩個組件之間傳遞信息,這種方法是否合適? –

+0

如果一個組件在另一個組件內,這很好 –