Firebase:从所有子节点中删除事件(书签系统)

时间:2015-06-18 13:13:49

标签: javascript firebase

我希望在我的应用中有一个实时书签计数。因此,对于每个项目,我为其书签计数设置了一个新的firebase侦听器:

ref.child('bookmark-count').child(ref).on('value', function(){ ... });

我为当前在视图中的每个项目(具有自己的引用)运行此命令。

现在,当用户离开此视图时,我想断开所有同步。 我以为在做什么

ref.off()

会做到这一点,但事实并非如此。但是,具有更多的特异性:

ref.child('bookmark-count').child(ref).off();

这可以按预期工作。

当用户滚动时,我没有跟踪我正在同步的所有书签。是否有一种快速方法可以杀死firebase节点下的所有事件,包括其子节点?

谢谢!

1 个答案:

答案 0 :(得分:1)

不幸的是,没有简单的方法可以做到这一点。 Firebase会删除子节点的侦听器,如Unlink listener for parent does it applied to children in Firebase

所示

我的建议是跟踪所有听众,以便您可以相应地删除它们。所有那些听众都是必要的,还是有办法让你改进现有的设计?如果您显示您的代码我很高兴看一看。