AngularJs 中对象内的引用数据
Reference data within object in AngularJs
我试图在使用 Firebase 从工厂返回的对象中引用子数据,但我很困惑。我可以成功获取我想要的用户对象 ($scope.user
),但我似乎无法引用其中的数据(例如 $scope.user.name
)- 一切 returns 未定义。
app.factory('Data', ['$firebase', function(){
var ref = new Firebase('https://something.firebaseio.com/users');
return {
refUser: function(id){
return $firebase(ref.child(id)).$asObject();
}
}
}]);
app.controller('MainCtrl', ['Data', function(Data){
$scope.user = Data.refUser(123); // 123 = user ID
console.log($scope.user); // Returns user object successfully (containing 'name' key)
console.log($scope.user.name); // Return undefined
}]);
我错过了什么?我什至不太确定问题出在哪里:Angular、Firebase 或简单的 javascript.
因为refUser还在打电话,还没有接完。 $scope.user 的引用存在,因为它已经被创建。如果您将 console.log 更改为 console.log(JSON.stringify($scope.user));你会看到它实际上是空的。 Chrome 开发工具保留调用完成后填充的引用。
我试图在使用 Firebase 从工厂返回的对象中引用子数据,但我很困惑。我可以成功获取我想要的用户对象 ($scope.user
),但我似乎无法引用其中的数据(例如 $scope.user.name
)- 一切 returns 未定义。
app.factory('Data', ['$firebase', function(){
var ref = new Firebase('https://something.firebaseio.com/users');
return {
refUser: function(id){
return $firebase(ref.child(id)).$asObject();
}
}
}]);
app.controller('MainCtrl', ['Data', function(Data){
$scope.user = Data.refUser(123); // 123 = user ID
console.log($scope.user); // Returns user object successfully (containing 'name' key)
console.log($scope.user.name); // Return undefined
}]);
我错过了什么?我什至不太确定问题出在哪里:Angular、Firebase 或简单的 javascript.
因为refUser还在打电话,还没有接完。 $scope.user 的引用存在,因为它已经被创建。如果您将 console.log 更改为 console.log(JSON.stringify($scope.user));你会看到它实际上是空的。 Chrome 开发工具保留调用完成后填充的引用。