2017-08-13 7 views
0

vuejs2アプリにfirebase authを実装しました。 これで、ユーザー情報に子コンポーネントにアクセスする必要があります。Vuejs2アクセスfirebase.auth()子コンポーネントのユーザ情報

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

012その場合

私はUID

JC見ることができます: "wM3ShBwwxRWwpgVwwOx04itcQSH2" を

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

任意の手掛かりを.UIDしかし、私は、オブジェクトのプロパティとそれにアクセスすることはできませんか?

+0

に設定することで、ユーザーが準備が整うまで待つ必要がありますか、子コンポーネントのユーザー情報へのアクセス方法を教えてください。 –

+0

実際に私はそれにアクセスしていません。データがここにあるのでfirebase.auth()を使用して試しました(コンソールに表示されます) – direxit

+0

私はどのような戦略をとるべきですか?小道具? vuex? – direxit

答えて

1

現在のユーザーIDを取得する必要がある場合は、firebase.auth().currentUser.uidから取得する必要があります。リスナーをfirebase.auth().onAuthStateChanged

+0

はい、これは次のように機能します: しかし、私はコンポーネントメソッド内でアクセスする必要があります。その場合は動作しません:( – direxit

関連する問題