【发布时间】:2018-01-10 15:48:46
【问题描述】:
如何从 firebase 获取当前用户地址?这部分需要帮助。我已经使用当前用户调用地址,但无法获取。 我能够从 firebase 获取所有用户地址。但是当我在下面尝试检索当前用户地址时,它失败了。
openMapPage()
{
var ref = firebase.database().ref("request");
ref.once("value").then((snapshot) => { // <------ Here!
var a = snapshot.exists(); // true
var c = snapshot.hasChild("reqdetails"); // true
var d = snapshot.child('reqdetails').exists();
var requestsKey = snapshot.key;
var requestsValue = snapshot.val();
//var currentadd = requestsKey.reqdetails.address;
//this.afAuth.authState.take(1).subscribe(data =>{
///this.profileData = this.af.object(this.user);
//console.log(this.profileData);
//})
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
var user = firebase.auth().currentUser;
var currentUserId = user.uid;
var currentadd = this.currentUserId.regdetails.address;
console.log("Current User Address");
console.log(currentadd);
} else {
// No user is signed in.
}
});
snapshot.forEach((childSnapshot) => { // <------ And here!
var requestKey = childSnapshot.key;
var requestValue = childSnapshot.val();
var reqdetails = requestValue.reqdetails;
var AllUserAddress = requestValue.regdetails.address;
//var currentUserAdd = currentUserId.address;
if (reqdetails) {
this.data = requestKey;
console.log(this.data);
//this.arr.push(requestKey);
//console.log(this.arr);
this.getRequest = this.angFire.list('request', {
query: {
orderByChild: 'reqdetails',
startAt: 'reqdetails'
}
})
}
});
});
}
我声明 currentUserId 的构造函数。
constructor(public navCtrl: NavController, public navParams: NavParams, private angFire: AngularFireDatabase,private af: AngularFireDatabase,
private afAuth: AngularFireAuth) {
//this.request = angFire.list('/request');
this.getRequest = angFire.list('request', {
query: {
orderByChild: 'reqdetails',
startAt: 'reqdetails'
}
})
var user = firebase.auth().currentUser;
var currentUserId = user.uid;
//this.userreq = angFire.list(`${this.userkey}`);
//this.reqdetails = angFire.list('reqdetails');
//this.request = angFire.list(this.data);
}
现在我得到了这个错误
【问题讨论】:
-
好的 reqdetails 和 regdetails 有地址。但我无法从当前用户那里获取地址
-
您是否尝试过 console.log(childsnapshot.val()) 以确保您收到一个开始的值?假设 childsnapshot 的值是您提供的屏幕截图中的“0AJ2wNW ...”节点,我看不出您如何从快照中获取地址的任何问题。
-
是的。我不明白为什么我无法获取当前用户地址。
标签: typescript firebase ionic-framework firebase-realtime-database ionic2