当我第一次加载页面时,firebase运行正常。对任何数据点的任何更改都会触发此功能:
database.ref('users').on('child_changed, function...)
然而,当我退出,然后重新登录时,我可以看到数据库正在更新,但在重新加载页面之前,更改不会再触发。重新加载后,任何更改都会得到正确反映,但以某种方式注销/登录会停止监听更改。
我不希望用户每次想要注销时都要重新加载,然后重新登录。
我可能需要另一个Firebase监听器吗?除了这四个之外我没有找到任何其他的东西:
child_removed, child_changed, child_added, value,
所以任何建议都会受到高度赞赏。
答案 0 :(得分:0)
我找到了解决方案!我没有在角度.run()方法中使用数据库侦听器,而是重构了代码,因此侦听器位于.factory()内部。现在,每次用户登录/退出工厂时都会查询数据库中的任何更改。
每当客户端和数据库中发生更改时,都会自动更新DOM元素。