Javascript 如何将用户从Angular应用程序保存到Firebase实时数据库?

Javascript 如何将用户从Angular应用程序保存到Firebase实时数据库?,javascript,angular,firebase,firebase-realtime-database,angularfire2,Javascript,Angular,Firebase,Firebase Realtime Database,Angularfire2,目前,我正在学习Angular教程,在firebase数据库中保存用户时遇到了一些问题。即使登录后,数据库仍然是空的。 代码如下: 首先,我为用户创建了一个服务,它有一个使用用户UID存储用户的方法,当然: import { Injectable } from '@angular/core'; import { AngularFireDatabase } from 'angularfire2/database'; import * as firebase from 'firebase'; @I

目前,我正在学习Angular教程,在firebase数据库中保存用户时遇到了一些问题。即使登录后,数据库仍然是空的。 代码如下: 首先,我为用户创建了一个服务,它有一个使用用户UID存储用户的方法,当然:

import { Injectable } from '@angular/core';
import { AngularFireDatabase } from 'angularfire2/database';
import * as firebase from 'firebase';

@Injectable({
  providedIn: 'root'
})
export class UserService {

  constructor(private db:AngularFireDatabase) { }
  save (user: firebase.User) {
    this.db.object('/users/'+user.uid).update({
      name: user.displayName,
      email: user.email
    });
  }
}
然后我在我的应用程序组件中使用了此服务

export class AppComponent {
  constructor(private userService: UserService,private auth: AuthService,router:Router)
  {
    auth.user$.subscribe(user => {
      if(user)
      {
        userService.save(user);
        let returnUrl=localStorage.getItem('returnUrl');
        router.navigateByUrl(returnUrl);
      }
    })
  }
}

请注意,AuthService工作正常。所有服务都在app.module中被称为提供者

编辑:我刚在控制台中注意到这个错误:

core.js:6014 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)

```

我通过编辑tsconfig.json文件修复了此问题:


对于出现相同错误的用户,请将目标从es2015更改为es5。

您是否可以记录传递给
userService
@c_ogo中
save
方法的
user
参数?是的,我可以获得有关已登录用户的所有信息(我在使用谷歌认证,所以我得到了关于我账户的所有信息)@c_ogo我在控制台中发现了一个错误,我编辑了我的帖子