【问题标题】:Angular 7:TypeError: Class constructor Observable cannot be invoked without 'new'Angular 7:TypeError:没有'new'就不能调用类构造函数Observable
【发布时间】:2019-11-23 13:06:54
【问题描述】:
this.db.object('/users/'+user.uid).update({
  name:user.displayName,email:user.email
  });
}

收到此错误:

core.js:9110 ERROR TypeError: Class constructor Observable cannot be invoked without 'new'
     at new FirebaseObjectObservable (firebase_object_observable.js:16)
     at FirebaseObjectFactory (firebase_object_factory.js:7)
     at AngularFireDatabase.push../node_modules/angularfire2/database/database.js.AngularFireDatabase.object (database.js:18)
     at UserService.save (user.service.ts:20)
     at SafeSubscriber._next (app.component.ts:23)
     at SafeSubscriber.__tryOrUnsub (Subscriber.js:185)
     at SafeSubscriber.next (Subscriber.js:124)
     at Subscriber._next (Subscriber.js:72)
     at Subscriber.next (Subscriber.js:49)
     at Notification.observe (Notification.js:20)
 defaultErrorLogger @ core.js:9110

【问题讨论】:

  • 我建议改标题,因为它和angulatlr无关,而是Firebase和Typescript和RxJS

标签: firebase-realtime-database angular7


【解决方案1】:

转到 tsconfig.json,

将目标从 es2015 更改为 es5。

这对我有用。

我认为当您使用 AngularFire 数据库方法时编译器仍然存在问题,我不能 100% 确定原因,但是更改目标立即解决了问题,并且我的用户字段很容易在数据库中创建

【讨论】:

  • 该解决方案也适用于我。更改目标并使用 ng serve 重新编译代码
  • 如果我不想将目标降级到 es5 怎么办?
  • @eli Brilliant question,但是,您可能必须找到另一个解决方案。祝你好运!
【解决方案2】:

TSCONFIG.JSON 中的 TARGETes2015 更改为 es5 然后用ng serve重新编译

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-12
    • 2019-04-21
    • 2021-05-17
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    相关资源
    最近更新 更多