我正在构建一个Ionic 2 + Firebase应用程序,但现在我被困了一段时间。我无法确定这个问题。
我正在从火力基地加载数据。在控制台上,我可以看到它工作正常(加载时间最长 1 秒(。
但是,数据最多需要 60 秒才能显示在应用 UI 上。
在此处查找包含用户数据的控制台输出。
法典:
.HTML:
<ion-content padding>
<ion-list>
<ion-item *ngFor="let item of items">
<h2>{{item?.birthDate}}</h2>
<p>Ticket: <strong>{{item?.username}}</strong></p>
<p>Date: <strong>{{item?.email}}</strong></p>
</ion-item>
</ion-list>
</ion-content>
个人资料:
ionViewDidEnter() {
this.authData.getUserProfile().on('value', snapshot => {
let rawList = [];
rawList.push({
birthDate: snapshot.val().birthDate,
email: snapshot.val().email,
gender: snapshot.val().gender,
password: snapshot.val().password,
phone: snapshot.val().phone,
username: snapshot.val().username,
weight: snapshot.val().weight
});
this.items = rawList;
console.log(this.items);
console.log(rawList);
});
}
身份验证服务:
public userProfileData: any;
public currentUser: any;
constructor(public af: AngularFire) {
af.auth.subscribe(user => {
if (user) {
this.currentUser = firebase.auth().currentUser.uid;
this.fireAuth = user.auth;
this.userProfileData = firebase.database().ref(`users/${this.currentUser}/`);
}
});
}
getUserProfile(): any {
return this.userProfileData;
}
我建议你尝试新的语法。我可以给你发一个很好的例子,我认为它会对你有很大帮助。
https://github.com/javebratt/event-tutorial
看看这个