angularjs - 如何使用 Angular Ionic 从我的 Firebase 实时数据库中获取一项
问题描述
这是我的实时数据库 我想查找相关人员的文章并显示信息
这是我的离子脚本页面
这是我的导入我可以检索要连接的用户的 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
当然可能会随着时间而改变。
推荐阅读
- isabelle - 在 Isabelle 中证明语义函数的可达状态集是有限的
- python - 自动编码器输出尺寸与输入尺寸不同
- scala - 表达式 'id' 既不存在于 group by 中,也不是聚合函数
- sql - 根据其他列的特定规则选择一对行值
- python-3.x - Flask,Python错误:在纯python上显示真实列表,在html中显示内存地址
- php - 如何通过在 PHP 中通过引用传递变量来存储变量?
- css - 将 Bootstrap Select 内容的内容约束到其容器受约束的列
- c# - 不等待所有任务是否安全
- ruby-on-rails - Rails form_with 使用 has_and_belongs_to_many 关系从 model1 为 model2 选择值
- iis - URL 重写模块的 outboundRules 的优先级