开发者问题收集

从vue.js组件中的firebase获取数据

2019-04-21
833

我正在使用vue.js启动我的第一个严肃的应用程序,并且我从Firabase收集数据有一个问题。这里的想法仅仅是为了将数据链接到用户ID。我的第一个是将其存储在 计算的 值中,例如So

568275317

,但是,当我尝试访问此变量时,它是 >未划分的

我的猜测是在异步呼叫结束之前计算该值。但是我看不到如何解决。

1个回答

实际上,您必须考虑 get() 方法的异步特性。一种经典方法是在 created 钩子中查询数据库,如下所示( Vue.js 2 ):

export default {

  data() {
    return {
      userInfo: null,
    };
  },

  ....
 
  created() {
      const firestore = firebase.firestore();
      const docPath = firestore.doc('/users/' + firebase.auth().currentUser.uid);

      docPath.get().then((doc) => {
        if (doc && doc.exists) {
          this.userInfo = doc.data();
        }
      });
  }

}
Renaud Tarnec
2019-04-21