[英]Angular how to access values from Json Array from firebase doc
this.currentUser$=this.afs.doc('users/'+this.authState.uid).valueChanges().pipe();
When I am using in component.html like当我在 component.html 中使用时
{{ currentUser$|async|json}}
I am getting it like below:我得到它如下:
{
"photoUrl": "",
"password": "",
"mobileVerified": true,
"id": "izoNRvk0moN579KqfQ1cVqNvpZJ2",
"phone": "5544663311",
"email": "admin@example.com",
"name": "Rob B",
"userRole": "admin"
}
Now for example I want to access just email
or userRole
, how I can do it?例如,现在我只想访问email
或userRole
,我该怎么做?
Set the value in pipe
.设置pipe
中的值。
currentUser$: Observable<User>;
currentUser?: User;
:
this.currentUser$=this.afs.doc('users/'+this.authState.uid).valueChanges().pipe(
tap( value => {
this.currentUser = value;
})
);
Then you can access each property.然后您可以访问每个属性。
{{currentUser?.email}}
{{currentUser?.userRole}}
I used the suggestions here to get the values from single document from firebase collection, but had to make a little modification for currentUser<User>
to currentUser<User | undefined>
我使用此处的建议从 firebase 集合中的单个文档中获取值,但必须对currentUser<User>
到currentUser<User | undefined>
进行一些修改currentUser<User | undefined>
and it works perfectly. currentUser<User | undefined>
并且它工作得很好。
private userDoc: AngularFirestoreDocument<User>;
currentUser: Observable<User | undefined>;
and in constructor:在构造函数中:
this.userDoc = afs.doc<User>('users/'+this.docId);
this.currentUser = this.userDoc.valueChanges();
and in component.html I can access this like在component.html中我可以像这样访问它
{{(currentUser|async)?.email}}
{{(currentUser|async)?.userRole}}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.