订阅一个 AngularFireObject

Man*_*UEZ 5 observable ionic-framework angularfire2 angular angularfire5

我刚刚升级到 AngularFire2 rc 5.0。

我修改了我的代码,使其与新类型和功能相匹配,但是在尝试订阅 a 时出现以下错误.object(path)

Property 'subscribe' does not exist on type 'AngularFireObject'
Run Code Online (Sandbox Code Playgroud)

我的代码如下。

供应商:

getEvent(id: string): AngularFireObject<any> {
    let path = `/events/${id}`;
    return this.af.object(path).valueChanges();
  }
Run Code Online (Sandbox Code Playgroud)

页:

...
event$: AngularFireObject<any>;
...

// Retrieve event's info
this.event$ = this.eventService.getEvent(this.id);

// Retrieve event's ownership info
let subscription = this.event$.subscribe(event => {
  this.owner$ = this.userService.getUserPublicInfo(event.owner);
});
Run Code Online (Sandbox Code Playgroud)

任何的想法?

Sur*_*Rao 0

你正在使用的valueChanges()意义getEvent(id: string)是返回FirebaseObjectObservable<any>AngularFireObject<any>。检查这里

AngularFireObject<any>由返回this.af.object(path)

更改函数的返回类型。

getEvent(id: string): FirebaseObjectObservable<any> {
    let path = `/events/${id}`;
    return this.af.object(path).valueChanges();
  }
Run Code Online (Sandbox Code Playgroud)