在我的角度项目中,我使用angularfirebase如下保存用户displayname:
this.afDB.object('/users/' + this.userId).set({displayName: user.displayname })
这给出了类似的东西......
然后为了显示它,我正在做以下事情:
this.profileData = this.db.list(`/users/${this.userId}/`);
然后,在HTML中:
<p> {{(profileData | async)?. displayName}} </p> <!-- Doesn't show any -->
但是,它没有显示任何数据。
如果我在下面尝试,那么它会显示用户名:
<div class="text" *ngFor="let item of profileData| async">
{{item.$value}} <!-- Shows the display name -->
</div>
我做错了什么?由于只有一个键,我不需要*ngFor
,我感到很困惑。任何帮助将不胜感激。
谢谢!
修改
我只是尝试使用this.userId
显示登录的用户显示名称。在这个例子中,假设登录用户的id为“se5Zmy8n ...”(img中的最后一个)。然后displayName
将是“asesdf4r”。
答案 0 :(得分:0)
您正在访问叶节点。您需要升级一级才能访问所有用户
this.profileData = this.db.list('/users/');
List会为您提供一个包含用户密钥的对象。