1

私はしばらくこのエラーのトラブルシューティングを試みてきました。エラーはCan't resolve all parameters for AngularFirestore: ([object Object], ?)と表示されます。他の誰かがこの問題を抱えていましたが、どのように問題を解決できましたか?私はドキュメントを読んだが、私はこの問題の底にはいない。AngularFirestoreのすべてのパラメータを解決できません:([オブジェクトオブジェクト]、?)

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", 

答えて

-1

私はこれを私のニーズに合わせて考え出しました。誰かがこの問題を抱えている場合、私の解決策が役立つかもしれません。

import { Component, OnInit } from '@angular/core'; 
    import { AngularFireDatabase } from 'angularfire2/database'; 
    import { Observable } from 'rxjs/Observable'; 

    @Component({ 
     selector: 'app-root', 
     templateUrl: './app.component.html', 
     styleUrls: ['./app.component.css'], 
     providers: [AngularFireDatabase] 
    }) 
    export class AppComponent { 
     items: object; 

     constructor(private adb: AngularFireDatabase) {} 

     ngOnInit() { 
      this.adb.list<any>('0').valueChanges().subscribe(res => { 
       this.items = res; 
       console.log(this.items) 
      }); 
     } 
    } 

私はもはや観測可能性を期待していません。私はオブザーバブルを期待するのではなく、オブジェクトを期待しています。また、AngularFireDatabaseサービスからイベントエミッターを購読するのを忘れていました。私はライフサイクルフックにもすべてを置いた。

このdocumentationが助けました。誰かがより良いアプローチを知っているなら、私に知らせてください。

8

私は同じエラーを取得しています。 AngularFirestoreがサービスプロバイダとしてリストされていないためです。あなたは、次のようなあなたのapp.module.ts

AngularFirestoreModuleをインポートする必要があり、このエラー修正するには

Error: No provider for AngularFirestore! at injectionError at noProviderError

:しかし、一度、私は別のエラーを取得するプロバイダーとして削除

import { AngularFirestoreModule } from 'angularfire2/firestore'; 

@NgModule({ 
    declarations: [ 
    AppComponent 
    ], 
    imports: [ 
    BrowserModule, 
    ..... 
    AngularFireModule.initializeApp(firebaseConfig), 
    AngularFirestoreModule <--- 
    ], 
    providers: [], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

を削除してくださいAngularFirestoreModuleの背後にある矢印は、配置されるはずの場所を明確にするためだけにあります。

関連する問題