2017-12-12 15 views
1

次のサブスクリプションを1つに結合するにはどうすればよいですか?角度 - 複数の「valueChanges」観測値を1つに結合する方法

this.form.get("type").valueChanges.subscribe(() => { 
     this.calcFinalTransports(); 
    }) 
    this.form.get("departure").valueChanges.subscribe(() => { 
     this.calcFinalTransports(); 
    }) 
    this.form.get("destination").valueChanges.subscribe(() => { 
     this.calcFinalTransports(); 
    }) 
    this.form.get("stations").valueChanges.subscribe(() => { 
     this.calcFinalTransports(); 
    }) 
+1

はthis.formを 'を購読します。 valueChanges'?あるいは、Observable.mergeのようなものを意味しますか?それははっきりしていません。 – jonrsharpe

+0

@ AngularInDepth.comの回答はまさに私が必要なものですか?なぜあなたは下降しますか?私は非常に明確だった – Michalis

答えて

3

期待する出力に応じていくつかの選択肢があります。あなたはこの記事を読むことをお勧めします:

あなただけの値の変化のいずれかがmergeを使用するたびに通知を受けるにしたい場合:

import {merge} from "rxjs/observable/merge"; 

merge(
    this.form.get("type").valueChanges, 
    this.form.get("departure").valueChanges, 
    this.form.get("destination").valueChanges 
    this.form.get("stations").valueChanges 
).subscribe(() => this.calcFinalTransports()); 
関連する問題