2017-11-29 14 views
0

サービスでオブザーバブルを作成しようとしています。サービスにオブザーバブルを作成しようとするとコンポーネントで使用され、別のコンポーネントでサブスクライブする角度4

これを1つのコンポーネントで使用し、それを別のコンポーネントでサブスクライブします。持ってはるかにインポートし、ちょうど観測者のものに焦点を当てるために探して、既に行われているプロバイダの配列を設定するなど

サービスコード:

selectedcityobs = Observable.create; 

情報送信コンポーネント:

city; 

this.venueservice.selectedcityobs obs =>{ 
obs.next(city); 
} 

をコンポーネントは情報を受け取ります。

this.venueservice.selectedcityobs 
    .subscribe(
    (city:any) 
    data =>{ 
    this.city = data; 
    }); 

今のところ私の構文は途方もなく、私は穴を埋めようとしています。私はちょうどこれを行う正しい方法を探して狂った構文を探していない。

私はこの答えを見て、それが助けて混乱していない:私はこのobserverableに情報を渡すためにしようとするとエラーになってAngular2 components fail to communicate via observable in a service

イム:

this.venueservice.selectedcityobs 
     obs =>{ 
      obs.next(this.city); 
     } 

エラー:この検査はどの表現文を報告します割り当てや呼び出しではありません。そのようなステートメントは疑わしいセマンティクスを持たず、通常はプログラマーのエラーの結果です。

this.venueservice.selectedcityobs.next(city); 

が観測を購読するには:「更新」の新しいデータで観察するには

+0

あなたは、実際に問題が何であるかを確認されていませんか?実行時にエラーが発生していますか、コンパイル時に、データが間違っていますか? – Zze

+0

私は構文が間違っています。私はこれを行うための正しい方法が必要です –

答えて

0

this.venueservice.selectedcityobs 
    .subscribe(data => this.city = data); 
+0

素晴らしいですが、観測可能なデータを渡す方法は間違っています –

+0

私の編集を参照してください –

+0

私はそれが私の解決策を投稿するだろうと思う –

関連する問題