私は観察可能な配列を持っています。Subscribe to Unsubscribe()
私のngOnInit()
メソッドでは、私はサブスクリプションを初期化します。
this.lineOrdersSub[line.$key] = this.af.database.list(this.businessService.path + 'line_orders/' + line.$key)
.subscribe((lineOrders) => {
this.line_orders[line.$key] = lineOrders;
});
また、各サブスクリプションごとにチェックボックスがあります。チェックボックスをオンにすると(デフォルト)、サブスクリプションはアクティブになります(新しいデータを購読する)。
私は、チェックボックスのチェックを外したとき、私はこれを実行します。
unCheckmethod() {
this.lineOrdersSub[line.$key].unsubscribe(); //Unsubscribe to my subscription
this.line_orders[line.$key] = null; // Remove the data I get after the subscription (See first code snippet)
}
を私のチェックを外し方法はうまく動作しますが、私は再びサブスクリプションを開始しようとしている後:
checkMethod() {
this.lineOrdersSub[line.$key].subscribe();
}
私が手に:
this.lineOrdersSub[line.$key].subscribe is not a function
私の質問:
unsubscribe
の後にサブスクリプションを購読する方法はありますか?不可能な場合は、他の方法でこれを行うことはできますか?
ありがとうmartin、私が間違っている場合は私を修正する - 私は宣言する必要があります1.サブスクリプション、2。2つの異なる変数を使用して同じ要素を観察する?また、私は自分のon-initサブスクリプション内にすべてを書き直さなければなりませんか? – TheUnreal
@TheUnreal購読と購読の両方をできるようにしたい場合は、常に2つの変数が必要です。 Observable(これは 'subscribe(...) 'と呼ばれる)と' subscribe(...) '呼び出しから返されたSubscriptionオブジェクトを保持するもう一つのものを保持するものです。それは 'unsubscribe()'と呼ばれます。 – martin