为什么不能从控制器访问Firebase对象的$ value?

时间:2015-10-13 21:23:18

标签: firebase angularfire

我的应用程序中有一个函数,它将用户的名字作为Firebase对象返回:

function getFirstName(uid) {
    var userNameRef = Ref.child('users/' + uid + '/firstName');;
    return $firebaseObject(userNameRef);
}

为什么我只能从HTML视图访问$value,而不能从这样的控制器访问:

var firstName = getFirstName(uid);
$scope.firstName = firstName.$value;

1 个答案:

答案 0 :(得分:4)

您可以在控制器中访问它,但它会异步加载,因此您必须使用promise。只有在绝对需要控制器中的值时才应该这样做。

getFirstName(uid).$loaded().then(function(firstName) {
  console.log(firstName.$value);
});