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

Raf*_*ael 5 firebase firebase-realtime-database angular 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)

    }
}
Run Code Online (Sandbox Code Playgroud)

的package.json

"angularfire2": "^5.0.0-rc.3",
"firebase": "^4.6.0",
Run Code Online (Sandbox Code Playgroud)

Hat*_*Brr 20

我一直得到同样的错误.这是因为您将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 { }
Run Code Online (Sandbox Code Playgroud)

请删除AngularFirestoreModule后面的箭头,只是为了清楚它应该放在哪里.

  • 我仍然遇到错误。提供者中已经有以下模块。BrowserModule,HttpModule,AngularFireModule.initializeApp(firebaseConfig),AngularFirestoreModule, (3认同)