【发布时间】:2016-01-24 21:58:37
【问题描述】:
我正在尝试从 firebase 检索数据,其格式如下:
>Users
--->UID
------>email:
------>height:
------>etc...
由于某种原因,当我尝试获取 say email 的值时,UID 不断返回 undefined。这是尝试检索数据的代码:
.factory('Chats', function($rootScope) {
// Might use a resource here that returns a JSON array
var chats;
return {
all: function() {
return chats;
},
initialize: function(isLoggedIn) {
var data = $rootScope.ref.getAuth().uid;
console.log("initialize: " + data);
if(isLoggedIn == true) {
$rootScope.ref.on("value", function(snapshot) {
console.log("Value: " + snapshot.val());
console.log("Users: " + snapshot.val().users);
console.log("Data: " + snapshot.val().users.data.email);
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
}
}
};
})
当它获得第三个console.log('Data'一个)时它会中断,它会抛出一个异常:
Cannot read property 'email' of undefined
但是当我在 if 语句之前记录变量 data1 时,它以字符串的形式返回用户的正确 UID,所以我不明白为什么它告诉我它未定义。我要做的就是挖掘我的 firebase 树并根据用户的 UID 检索用户的值(电子邮件、身高等)——我通过调用 ref.getAuth().uid 检索这些值。
提前致谢!
【问题讨论】:
标签: angularjs ionic-framework firebase