我一直试图解决此错误。错误显示为Can't resolve all parameters for AngularFirestore: ([object Object], ?)
。有没有其他人有这个问题,你怎么能解决这个问题。我已经阅读了文档,但我无法理解这个问题。
import { Component } from '@angular/core';
import { AngularFirestore } from 'angularfire2/firestore';
import { AngularFireDatabase } from 'angularfire2/database';
import { Observable } from 'rxjs/Observable';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
providers: [AngularFirestore, AngularFireDatabase]
})
export class AppComponent {
items: Observable<any[]>;
constructor(db: AngularFirestore, adb: AngularFireDatabase) {
this.items = db.collection('0').valueChanges();
console.log(this.items)
}
}
的package.json
"angularfire2": "^5.0.0-rc.3",
"firebase": "^4.6.0",
答案 0 :(得分:17)
我遇到了同样的错误。这是因为您将AngularFirestore列为服务提供商,而不是。但是一旦作为提供者被删除,我会得到另一个错误:
Error: No provider for AngularFirestore!
at injectionError
at noProviderError
要解决此错误,您必须将AngularFirestoreModule
导入app.module.ts
如下所示:
import { AngularFirestoreModule } from 'angularfire2/firestore';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
.....
AngularFireModule.initializeApp(firebaseConfig),
AngularFirestoreModule <---
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
请删除AngularFirestoreModule后面的箭头,只是为了清楚它应该放在哪里。
答案 1 :(得分:0)
您必须将AngularFirestoreModule导入app.module.ts
在进口商和供应商中。
imports: [
BrowserModule,
.....
AngularFireModule.initializeApp(firebaseConfig),
AngularFirestoreModule
],
providers: [AngularFirestoreModule],
.....
答案 2 :(得分:0)
检查导入后,问题结束。我的导入app.module如下:
imports: [
BrowserModule,
AngularFireModule.initializeApp(environment.firebase),
AngularFirestoreModule,
AngularFirestoreModule.enablePersistence(),
AngularFireAuthModule,
NgbModule.forRoot(),
AppRoutingModule,
HttpModule,
HttpClientModule,
],