我的应用程序中有一个函数,它将用户的名字作为Firebase对象返回:
function getFirstName(uid) {
var userNameRef = Ref.child('users/' + uid + '/firstName');;
return $firebaseObject(userNameRef);
}
为什么我只能从HTML视图访问$value
,而不能从这样的控制器访问:
var firstName = getFirstName(uid);
$scope.firstName = firstName.$value;
答案 0 :(得分:4)
您可以在控制器中访问它,但它会异步加载,因此您必须使用promise。只有在绝对需要控制器中的值时才应该这样做。
getFirstName(uid).$loaded().then(function(firstName) {
console.log(firstName.$value);
});