无法解析AngularFirestore的所有参数:([object Object] ,?)

时间:2017-10-31 00:30:07

标签: angular firebase firebase-realtime-database google-cloud-firestore

我一直试图解决此错误。错误显示为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",

3 个答案:

答案 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,
  ],