【发布时间】:2017-03-11 06:12:43
【问题描述】:
如何将 Observable 分配给 FirebaseObjectObservable?
目前我收到以下错误
Type '{}' is not assignable to type 'FirebaseObjectObservable<UserProfile[]>'.
Property '_ref' is missing in type '{}'.
方法getUserProfile
getUserProfile() {
const getUser = new Subject();
this.getUser().subscribe(
authResp => {
console.log('response received from getUser():', authResp);
const data = this.af.database.object(`users/${authResp}`);
getUser.next(data);
getUser.complete();
},
err => {
getUser.error(err);
getUser.complete();
}
)
return getUser.asObservable();
}
组件
export class HomeComponent implements OnInit, OnDestroy {
private sub: Subscription;
theUserProfile: FirebaseObjectObservable<UserProfile[]>;
constructor(private authService:AuthService, private af: AngularFire, private auth: FirebaseAuth) {}
ngOnInit() {
this.sub = this.authService.getUserProfile().subscribe( data => {
console.log('this is data:', data);
this.theUserProfile = data;
})
}
ngOnDestroy() {
this.sub.unsubscribe();
}
}
问题是:如何将数据的输出分配给 this.theUserProfile? console.log('这是数据:', data);回馈this is data: FirebaseObjectObservable {_isScalar: false, _ref: U}
【问题讨论】:
-
你试过铸造吗?在调用您的 autService 之前添加
<FirebaseObjectObservable<UserProfile[]>>,如下所示:this.sub = <FirebaseObjectObservable<UserProfile[]>> this.authService.getUserProfile().subscribe() -
嗨法比奥。感谢您的回答。我已经尝试了您的示例代码,但没有任何运气。但你把我引向了正确的方向。我在下面添加了答案
标签: angular typescript firebase firebase-realtime-database angularfire2