Firebase接收更新,但不会触发.on('child_changed')

时间:2017-02-02 22:30:22

标签: javascript angularjs firebase firebase-realtime-database firebase-authentication

当我第一次加载页面时,firebase运行正常。对任何数据点的任何更改都会触发此功能:

database.ref('users').on('child_changed, function...)

然而,当我退出,然后重新登录时,我可以看到数据库正在更新,但在重新加载页面之前,更改不会再触发。重新加载后,任何更改都会得到正确反映,但以某种方式注销/登录会停止监听更改。

我不希望用户每次想要注销时都要重新加载,然后重新登录。

我可能需要另一个Firebase监听器吗?除了这四个之外我没有找到任何其他的东西:

child_removed, child_changed, child_added, value, 

所以任何建议都会受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案!我没有在角度.run()方法中使用数据库侦听器,而是重构了代码,因此侦听器位于.factory()内部。现在,每次用户登录/退出工厂时都会查询数据库中的任何更改。

每当客户端和数据库中发生更改时,都会自动更新DOM元素。