为什么无法从控制器访问 Firebase 对象的 $value?
Why isn't it possible to access $value of a Firebase object from a controller?
我的应用程序中有一个函数 returns 用户的名字作为 Firebase 对象:
function getFirstName(uid) {
var userNameRef = Ref.child('users/' + uid + '/firstName');;
return $firebaseObject(userNameRef);
}
为什么我只能从 HTML 视图访问 $value
,而不能从这样的控制器访问:
var firstName = getFirstName(uid);
$scope.firstName = firstName.$value;
您可以在控制器中访问它,但它是异步加载的,因此您必须使用承诺。仅当您绝对需要控制器中的值时才应这样做。
getFirstName(uid).$loaded().then(function(firstName) {
console.log(firstName.$value);
});
我的应用程序中有一个函数 returns 用户的名字作为 Firebase 对象:
function getFirstName(uid) {
var userNameRef = Ref.child('users/' + uid + '/firstName');;
return $firebaseObject(userNameRef);
}
为什么我只能从 HTML 视图访问 $value
,而不能从这样的控制器访问:
var firstName = getFirstName(uid);
$scope.firstName = firstName.$value;
您可以在控制器中访问它,但它是异步加载的,因此您必须使用承诺。仅当您绝对需要控制器中的值时才应这样做。
getFirstName(uid).$loaded().then(function(firstName) {
console.log(firstName.$value);
});