这是交易 . 我正在使用VueFire,并希望从我设置的Firebase数据库中检索数据 . 在那里,我有一个用户节点,每个节点都由一个唯一的id定义 . 同样对于每个用户我都有一个装满购物车的购物车阵列 . 为了使它动态,我在firebase钩子中调用引用,如下所示:
export default {
firebase:{
cart: app.database().ref('users')
}, //and so on and so on
}
而不是 .ref('users')
我想要检索当前用户,使用他的唯一ID,如下所示: .ref('users/' + user.uid + '/cart')
要获取当前用户uid,我执行的观察者是 firebase.auth().onAuthStataChanged(user=>{//code here})
问题是,因为这是异步的,所以在检索当前用户之前激活firebase钩子 . 我试图简单地调用 firebase.auth().currentUser
,但这也很慢且不可靠 . 我愿意接受各种建议!
2 回答
我提出了一个适用于我的案例的解决方案,可能对你有用 .
我做的是在用户进行身份验证时附加值侦听器,然后在用户失去身份验证时将其关闭 . 使用此方法,我只是要求在用户实际进行身份验证时检索用户数据 . 我是这样做的:
好的,我明白了 . 感谢@Daniel D关于绑定作为数组或对象的提示 . 因此事实证明我不必在firebase引用钩子中执行它,我只需要将它作为数组绑定在
mounted()
钩子中 . 我只是在数据中声明一个空的cart: []
然后像这样填充它:我非常感谢@Daniel D.