【问题标题】:How to solve Angular subscribe error? Property 'subscribe' does not exist on type 'AngularFireList<unknown>'.ts(2339)如何解决 Angular 订阅错误?类型 'AngularFireList<unknown>'.ts(2339) 上不存在属性 'subscribe'
【发布时间】:2020-03-19 21:14:40
【问题描述】:

我正在尝试使用以下功能从数据服务中的 Firebase RDB 获取数据:

this.getOrgId()
.subscribe((orgId: string) =>
localStorage.setItem('orgId', orgId));
getOrgId() { 

  return this.db.list(/users/${this.uId}/organization/.json); 
}

不幸的是,我收到以下错误: “AngularFireList”类型上不存在“订阅”属性。ts(2339)

有人知道如何解决它吗?我对 JS 和 TS 完全陌生。

非常感谢。

【问题讨论】:

  • this.getOrgId() 应该返回一个 Observable,我怀疑你的情况。
  • 感谢您的回答。如何修复它以返回 Observable?
  • 发布。你的 getOrgId() 方法
  • 你需要修改this.getOrgId()方法返回一个Observable,然后你才能订阅它。另外,这看起来像一个 getter 方法,为什么你首先需要订阅它?
  • 我试图像这样获取 orgId:getOrgId() { return this.db.list(/users/${this.uId}/organization/.json); }

标签: javascript angular typescript firebase firebase-realtime-database


【解决方案1】:

对于subscribeAngularFireList,您应该使用snapshotChanges()valueChanges&lt;T&gt;()stateChanges()auditTrail() 之一。

如下更改getOrgId()

getOrgId() { 

  return this.db.list(/users/${this.uId}/organization/.json).valueChanges(); 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-10
    • 2018-12-02
    • 2018-03-25
    • 2018-01-29
    • 2021-01-10
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    相关资源
    最近更新 更多