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();
});
}) ;
});
但是當我嘗試它不顯示任何{{說明}}
其實我努力帳戶的網上找了「 displayDescription」在我的數據庫鏈接到當前用戶,例如用戶-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"
}
}
}
我認爲accountRef.on函數不是摘要循環的一部分。也許你可以試試$ scope.apply或者使用AngularFire。 – davibq
一切正常,如果我只是把var userId ='-KOkwpzslw9NyUrTtvA7';我只是試着擁有它,所以我讓當前用戶自動選擇,而不是在你看到的代碼中寫入:) – FrenchyNYC