如何使用 Angular Ionic 从我的 Firebase 实时数据库中获取一项
How to get one items from my Firebase realtime Database with Angular Ionic
这是我的实时数据库
我想找到连接的人的文章并显示信息
这是我的离子脚本页面
这是我的进口商品
我可以检索要连接的用户的 ID,但是
我无法在
实时数据库
import { Component } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/compat/auth';
import { AngularFireDatabase, AngularFireList } from '@angular/fire/compat/database';
export class Tab3Page {
public profileData: any;
name: string;
prenom: string;
constructor(private afAuth: AngularFireAuth,
private db: AngularFireDatabase,
private toast: ToastController,
private navCtrl: NavController,
private authService: FirebaseAuthServiceService) {
this.afAuth.authState.subscribe(
(res)=>{
this.profileData = res.uid;
console.log(this.profileData);
}
)
this.db.list("users/"+this.profileData).valueChanges().subscribe(details => {
this.name =details["name"];
this.prenom = details["prenom"];
console.log(details);
})
}
}
很难确定,但我感觉您在用户登录之前附加了数据库侦听器。要解决此问题,您需要将订阅调用移至身份验证状态侦听器中
this.afAuth.authState.subscribe(
(res)=>{
this.profileData = res.uid;
console.log(this.profileData);
}
this.db.list("users/"+this.profileData).valueChanges().subscribe(details => {
this.name =details["name"];
this.prenom = details["prenom"];
console.log(details);
})
)
如果这确实加载了数据,您将需要开始管理数据库订阅,因为 authState
当然可能会随着时间而改变。
谢谢弗兰克的发言
我看到我的问题这只是局部变量的问题
this.afAuth.authState.subscribe(
(res)=>{
this.profileData = res.uid;
console.log(this.profileData);
this.db.list("users/"+this.profileData).valueChanges().subscribe(details => {
this.name = details[2];
console.log(this.name);
})
}
)
这是我的实时数据库 我想找到连接的人的文章并显示信息
这是我的离子脚本页面
这是我的进口商品 我可以检索要连接的用户的 ID,但是 我无法在 实时数据库
import { Component } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/compat/auth';
import { AngularFireDatabase, AngularFireList } from '@angular/fire/compat/database';
export class Tab3Page {
public profileData: any;
name: string;
prenom: string;
constructor(private afAuth: AngularFireAuth,
private db: AngularFireDatabase,
private toast: ToastController,
private navCtrl: NavController,
private authService: FirebaseAuthServiceService) {
this.afAuth.authState.subscribe(
(res)=>{
this.profileData = res.uid;
console.log(this.profileData);
}
)
this.db.list("users/"+this.profileData).valueChanges().subscribe(details => {
this.name =details["name"];
this.prenom = details["prenom"];
console.log(details);
})
}
}
很难确定,但我感觉您在用户登录之前附加了数据库侦听器。要解决此问题,您需要将订阅调用移至身份验证状态侦听器中
this.afAuth.authState.subscribe(
(res)=>{
this.profileData = res.uid;
console.log(this.profileData);
}
this.db.list("users/"+this.profileData).valueChanges().subscribe(details => {
this.name =details["name"];
this.prenom = details["prenom"];
console.log(details);
})
)
如果这确实加载了数据,您将需要开始管理数据库订阅,因为 authState
当然可能会随着时间而改变。
谢谢弗兰克的发言 我看到我的问题这只是局部变量的问题
this.afAuth.authState.subscribe(
(res)=>{
this.profileData = res.uid;
console.log(this.profileData);
this.db.list("users/"+this.profileData).valueChanges().subscribe(details => {
this.name = details[2];
console.log(this.name);
})
}
)