Vuejs2访问子组件中的firebase.auth()用户信息

时间:2017-08-13 18:10:09

标签: firebase firebase-authentication vuejs2

将firebase auth实现到vuejs2应用程序中。 现在我需要将用户信息访问到子组件中。

main.js:

var app = new Vue({    



  router,    

  created() {    

    connection.auth().onAuthStateChanged((user) => {

      if(user) {    

      var usersRef = db.ref('users') 
      var userID = user.uid    

      usersRef.once('value', function(snapshot) {    

        if (!snapshot.hasChild(userID)) {    

          //setting user as new 
          usersRef.child(userID).set({    

            isNew: 1 ,
            registrationDate: Date.now()    

          })    

        }     

      });    




      } else {

        this.$router.push('/auth')

      }

     });       

    } ,    

    el: '#app',    

    template: '<app></app>',    

    components:{
      App 
      } ,
  render: h => h(App)    

 });

现在在子组件中,

当我这样做时:

import Firebase from 'firebase'
console.log(Firebase.auth())

我可以在控制台中看到信息

enter image description here

在这种情况下,我可以看到uid

jc:“wM3ShBwwxRWwpgVwwOx04itcQSH2”

但我无法使用object属性.uid

访问它

https://firebase.google.com/docs/reference/js/firebase.User

有任何线索吗?

1 个答案:

答案 0 :(得分:1)

如果你需要获取currentUser uid,你应该从firebase.auth().currentUser.uid获取它。您还需要通过将侦听器设置为firebase.auth().onAuthStateChanged

来等待用户准备就绪