Angular2 渲染多级 Firebase 对象

Posted

技术标签:

【中文标题】Angular2 渲染多级 Firebase 对象【英文标题】:Angular2 render multilevel Firebase Object 【发布时间】:2017-10-26 20:53:42 【问题描述】:

我在渲染从 firebase 检索到的对象的值时遇到问题。我必须按如下方式完成这项工作:

仅供参考,数据来自这里,它做得很好:

数据是这样的结构:

userProfile:FirebaseObjectObservable<any>;

db.object('/users/'+auth.uid, preserveSnapshot: true )
    .subscribe(snapshot => 
       this.userProfile = snapshot;
);

在我的 html 中,我可以使用以下内容渲染出对象:

 userService.userProfile | json  

OUTPUT rendered is:   "email": "sdfsdf@fffdsfsdf22.com", "provider": "password"  // THIS is GREAT!!!! now I just need to extract the email... and will need more values later

现在我只需要呈现电子邮件值......但我所做的一切都不起作用,我尝试过的事情没有呈现结果

  userService.userProfile.email  //nothing    
 userService.userProfile.email | json  //nothing
 userService.userProfile.email | json | async  //nothing
 userService.userProfile.email | async  //nothing
 ( userService.userProfile.email ) | async  //nothing
 ( userService.userProfile.email ) | json  //nothing
 ( userService.userProfile?.email ) | json  //nothing
 ( userService.userProfile?.email ) | async  //nothing
 ( userService.userProfile)?.email  | async  //nothing
 ( userService.userProfile)?.email  | json  //nothing
 ( userService.userProfile)?.email  //nothing
 ( userService)?.userProfile.email  //nothing
 userService?.userProfile?.email  //nothing
 userService?.userProfile?.email | async  //nothing
 userService?.userProfile?.email | json  //nothing

我确定我做错了什么,但无法弄清楚为什么它在高级别的工作,但没有输出特定的属性。

【问题讨论】:

userService 是什么? userService 是它被注入的父组件。 【参考方案1】:

几天前我遇到了类似的问题。请尝试:

snapshot.val()

【讨论】:

以上是关于Angular2 渲染多级 Firebase 对象的主要内容,如果未能解决你的问题,请参考以下文章

从嵌套类别 Firebase 和 Angular2 中获取数据

多级用户登录 - Android Studio / Firebase

Angular2:从数组中注入 HTML 并渲染视图

Swift 3 中的 Firebase 多级数据库处理

Angular2 Firebase,聊天应用程序

Firebase列表的嵌套Angular2 ngFor指令[重复]