2017-05-10 10 views
1

私のアプリには2つのフォームがあります。選択されたドロップダウン値に基づいて、それぞれがユーザーに表示されます。rxjsでサブスクリプションを停止/開始するには?

<select (change)="change($event)"> 
      <option value="0">New</option> 
      <option value="1">Existing</option> 
    </select> 

次に.TSファイルで:

 ngAfterViewInit() { 
     this.existingForm.valueChanges.subscribe(p => { 
     //code 
     }); 
     this.newForm.valueChanges.subscribe(p => { 
     //code 
     }); 
    } 

    change($event) { 
     if ($event.target.value == 0) { 
     //pause newForm subscription 
     //start existing subscription 
     } 
     if ($event.target.value == 1) { 
     //pause existing subscription 
     //start newform subscription 
     } 
    } 

答えて

1

Observablesubscribe()を呼び出すsubscribeを開始します。 とサブスクリプションを停止するlet subscription = this.existingForm.valueChanges.subscribe(...)でサブスクリプションを維持subscription.unsubscribe()


  • $ = this.existingForm.valueChangesに観察しましょうobserverble

    を保ちます。

  • 開始または再起動します

    のletサブスクリプション=観察できるの$ .subscribe();

  • 停止

    subscription.unsubscribe()。

+0

私はサブスクリプションAPIをチェックしていましたが、もう一度「開始」する「購読」メソッドはありません。 – gog

+0

@ggui Observableを再度登録し直すことができます。私の更新された答えを見てください。 – Pengyy

関連する問題