我想要做的事情應該相當簡單 - 從我的Firebase數據庫加載對象並將其分配給我的控制器中的變量。這在我使用Firebase函數(請參閱註釋代碼)之前完美工作,但我想使用3-way綁定,因此我正在嘗試在AngularFire中執行相同的操作。
$加載的事件似乎沒有觸發,因爲規劃器對象(也就是'你在這裏')永遠不會打印到控制檯。 user.uid字符串按預期打印到控制檯,並且註釋掉的代碼完美地工作。在此先感謝您的幫助。
(邊問題:在註釋掉的代碼,我利用evalAsync,保證了網頁上的表格時,信息檢索實際更新 - 這是很好的做法?)
我的控制器:
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
console.log("Currently logged in user...");
console.log(user.uid);
$scope.user = user;
var ref = firebase.database().ref('planners/' + $scope.user.uid);
var planner = $firebaseObject(ref);
planner.$loaded().then(function() {
console.log("You are here")
console.log(planner)
})
.catch(function(error) {
console.log(error)
})
// firebase.database().ref('planners/' + $scope.user.uid).on('value', function(response) {
// if (response.val() != null) {
// $scope.$evalAsync(function() {
// $scope.planner = response.val();
// })
// }
// });
}
else {
console.log('No user logged in')
$state.go('login')
}
})