【问题标题】:Can't resolve all parameters for AngularFirestore: ([object Object], ?)无法解析 AngularFirestore 的所有参数:([object Object], ?)
【发布时间】:2018-04-12 01:53:43
【问题描述】:

一段时间以来,我一直在尝试解决此错误。错误为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",

【问题讨论】:

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


    【解决方案1】:

    我遇到了同样的错误。这是因为您将 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 后面的箭头,它只是为了明确它应该放置在哪里。

    【讨论】:

    • 我仍然收到错误消息。我已经在提供程序中有以下模块。 BrowserModule, HttpModule, AngularFireModule.initializeApp(firebaseConfig), AngularFirestoreModule,
    【解决方案2】:

    你必须将 AngularFirestoreModule 导入你的 app.module.ts

    在导入和提供程序中。

     imports: [
        BrowserModule,
        .....
        AngularFireModule.initializeApp(firebaseConfig),
        AngularFirestoreModule
      ],
    
    providers: [AngularFirestoreModule],
    .....
    

    【讨论】:

      【解决方案3】:

      检查导入后,问题结束。我在下面导入 app.module:

        imports: [
          BrowserModule,
          AngularFireModule.initializeApp(environment.firebase),
          AngularFirestoreModule,
          AngularFirestoreModule.enablePersistence(),
          AngularFireAuthModule, 
          NgbModule.forRoot(),
          AppRoutingModule,
          HttpModule,
          HttpClientModule,
        ],
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-10
        • 1970-01-01
        • 1970-01-01
        • 2019-11-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多