profileData : Observable<Profile>;
async ionViewWillLoad(){
await this.afAuth.authState.take(1).subscribe(data => {
if (data && data.email && data.uid){
this.newProfile = this.afDatabase.object(`profile/${data.uid}`).valueChanges();
}
})
}
我在this.newProfile
输入'Observable&lt; {}&gt;'不能分配给'Observable'类型。
和
输入'Observable&lt; {}&gt;'不能分配给'Observable'类型。类型“{}”不能分配给“个人资料”类型。 “{}”类型中缺少属性“用户名”。
这是about.ts
答案 0 :(得分:2)
valueChanges
Observable返回的类型可能隐式为Object
,当然,它不能分配给Profile
类型。尝试明确地输入它:
async ionViewWillLoad(){
await this.afAuth.authState.take(1).subscribe(data => {
if (data && data.email && data.uid){
this.newProfile = <Observable<Profile>>this.afDatabase.object(`profile/${data.uid}`).valueChanges();
}
})
}
答案 1 :(得分:0)
Observable<any>;
只需将其设置为any或确保返回的值属于profile。
答案 2 :(得分:0)
您是否尝试从profileData
删除类型声明?这对我有用。
profileData;
代替profileData : Observable<Profile>;