Firebase 5 Angular 5 AngularFireList.snapshotChanges()错误
当我尝试在Angular5/Firebase5应用程序中订阅AngularFireList时,出现以下错误Firebase 5 Angular 5 AngularFireList.snapshotChanges()错误,firebase,firebase-realtime-database,angular5,angularfire2,Firebase,Firebase Realtime Database,Angular5,Angularfire2,当我尝试在Angular5/Firebase5应用程序中订阅AngularFireList时,出现以下错误 zone.js:192 Uncaught TypeError: Object(...) is not a function at SwitchMapSubscriber.eval [as project] (changes.js:7) at SwitchMapSubscriber._next (switchMap.js:91) at SwitchMapSubscri
zone.js:192 Uncaught TypeError: Object(...) is not a function
at SwitchMapSubscriber.eval [as project] (changes.js:7)
at SwitchMapSubscriber._next (switchMap.js:91)
at SwitchMapSubscriber.Subscriber.next (Subscriber.js:95)
at RefCountSubscriber.Subscriber._next (Subscriber.js:131)
at RefCountSubscriber.Subscriber.next (Subscriber.js:95)
at Subject.next (Subject.js:56)
at ConnectableSubscriber.Subscriber._next (Subscriber.js:131)
at ConnectableSubscriber.Subscriber.next (Subscriber.js:95)
at Notification.observe (Notification.js:32)
at AsyncAction.DelaySubscriber.dispatch (delay.js:91)
我的服务和控制器类内容如下:
1) 名为“FirebaseService”的服务
customers: AngularFireList<any>;
getCustomers(){
this.customers = this.fire.list('users');
return this.customers;
}
AngularFire的最新版本需要rxjs 6。如果您有尚未升级的依赖项,请升级rxjs并包括
rxjs compat
。我在使用AngularFireList.valueChanges()时遇到类似问题
安装最新版本的AngularFire(5.0.0-rc.10)时会出现npm警告
npm警告angularfire2@5.0.0-rc.10需要rxjs@^6.0.0的对等机,但未安装任何对等机
所以我安装了这个依赖项
npm安装rxjs@^6.0.0——在我的项目中保存
还需要安装以下依赖项
npm安装——保存rxjs compat
问题解决了您需要提供更多的背景,以便我们可以帮助您;您尝试订阅的代码、firebase服务(如果有)、您尝试检索的列表结构……嗨,Javier,我添加了我尝试订阅的代码和尝试检索数据列表的服务。希望这将有助于理解。谢谢你可能想再次检查你的工作。这是100%的原因和解决办法。我是AngularFire的维护者(顺便说一句;)哇,我一直在寻找这个解决方案的整个网络
constructor(private firebase: FirebaseService) { }
serviceProviders: ServiceProvider[];
var x = this.firebase.getServiceProviders();
x.snapshotChanges().subscribe(item => {
this.serviceProviders = [];
item.forEach(element => {
var y = element.payload.toJSON();
y["$key"] = element.key;
this.serviceProviders.push(y as ServiceProvider);
});
});