Javascript 如何将用户从Angular应用程序保存到Firebase实时数据库?
目前,我正在学习Angular教程,在firebase数据库中保存用户时遇到了一些问题。即使登录后,数据库仍然是空的。 代码如下: 首先,我为用户创建了一个服务,它有一个使用用户UID存储用户的方法,当然: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
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我在控制台中发现了一个错误,我编辑了我的帖子