2017-09-19 5 views
0

私はAngularDartを使用しています。アクティブなリスナーを削除/追加することで、私が聴いているリファレンスを変更したいと思います。Dart Firebase off()メソッド

以下のリンクと "Detach listers"ドキュメントから、新しいリスナーを追加できるようにアクティブなリスナーを削除するにはoff()メソッドが必要です。

質問:Dartでoff()メソッドを使用する方法。

document

デタッチリスナー:

コールバックは、あなたのFirebaseデータベース参照の上オフ()メソッドを呼び出すことによって除去されます。 1つのリスナーをパラメータとしてoff()に渡すことで、1つのリスナーを削除できます。引数のない場所でoff()を呼び出すと、その場所のすべてのリスナーが削除されます。 親リスナーでoff()を呼び出しても、子ノードに登録されているリスナーは自動的に削除されません。 callbackを削除するには、子リスナーに対してoff()も呼び出さなければなりません。

答えて

0

ダーツでは、listen()を使用して通知をサブミットします。 listen()は、cancel()メソッドを呼び出すことにより、登録解除に使用できるStreamSubscriptionを返します。

+1

私にはキャンセルの呼び出しが機能しませんでした。 cancel()を呼び出した後にコールバックが登録されているかのように動作します。代わりにfirebase.database.Queryについてもっと学びました。アプリケーションは、リスナーを追加/削除するのではなく、適切なデータを取得するためにorderByChildとequalTo Queryを使用します。これは動作し、行く正しい方法と思われる。 – Ayyrk