2016-08-10 36 views
0

私のイオンプロジェクトには、ログインしているユーザを確認し、そのユーザに関するデータを表示するコントローラがあります。Firebaseでデータを見つけることができません

ただし、現在のユーザーにリンクしているデータをデータベースに表示しようとしています。私は、そのコードを試してみましたが、それはそれは表示されません:

.controller('AccountCtrl', function($scope, $state, $cordovaOauth) { 
    $scope.$on('$ionicView.enter', function() { 
    //Get logged in user credentials. 
    var user = firebase.auth().currentUser; 
    var name, email, photoUrl, provider, description; 

    console.log("User: " + JSON.stringify(user)); 
    if (user != null) { 
     name = user.displayName; 
     email = user.email; 
     photoUrl = user.photoURL; 
     provider = user.provider; 
     uid = user.uid; 
    } 

    //Set Profile Image. 
    $scope.profileImage = photoUrl; 
    //Set Profile Name. 
    $scope.profileName = name; 
    //Set Profile email. 
    $scope.profileEmail = email; 
    //Set provider. 
    $scope.provider = provider; 

     var userId = firebase.auth().currentUser; 
     var accountRef = firebase.database().ref('accounts/' + userId); 
     accountRef.on('value', function(account) { 
     $scope.description = account.val().displayDescription; 
     $scope.$apply(); 
    }); 
    }) ; 
    }); 

をしかし、私はしようとすると、それは何も表示されない{{説明}}

実際に

私は見つけるために、アカウントのラインを持ってしてみてください」あなたは、このようにターゲットカント、あなたのデータ記述/その形式のアカウント/ユーザーIDでから例えば、現在のユーザー、ユーザー-KOkwpzslw9NyUrTtvA7

{ 
    "accounts" : { 
    "-KOjv0LDdoWrc3uApvPi" : { 
     "dateCreated" : "Tue Aug 09 2016 11:29:18 GMT-0400 (EDT)", 
     "email" : "[email protected]", 
     "provider" : "Facebook", 
     "userId" : "FMXlUQZth5aehQLT2TKZZJZdJBh2" 
    }, 
    "-KOkwpzslw9NyUrTtvA7" : { 
     "dateCreated" : "Tue Aug 09 2016 16:16:52 GMT-0400 (EDT)", 
     "displayDescription" : "no description", 
     "email" : "[email protected]", 
     "provider" : "Facebook", 
     "userId" : "F9Z7YhSlmAQqOH5FVjBSV2CkYZG3" 
    } 
    } 
} 
+0

accountRef.on関数はダイジェストサイクルの一部ではないと思います。 $ scope.applyやAngularFireを試してみるといいでしょう。 – davibq

+0

私はちょうどvar userId = '-KOkwpzslw9NyUrTtvA7'を置くとすべて動作します。私はちょうどそれを持っているので、私はあなたが見るコードでこれを書いているのではなく、自動的に現在のユーザを選択しています:) – FrenchyNYC

答えて

1

こんにちは兄データにリンクされている私のデータベースでdisplayDescription」。そのfirebase.auth()関数のデータをgrapしてlocalstrogeに保存すれば、好きなように使うことができます。

関連する問題