1

私のプロジェクト用にFirebaseを設定するためのAngularFire2文書に従っています。データベースからデータを取得できません。AngularFire2:データベースから空のオブジェクトを取得する

contacts:Observable<any[]>; 
    constructor(angularFire: AngularFirestore, public http: Http) { 
    this.contacts = angularFire.collection('mycontacts').valueChanges() 
    console.log("Contacts : "+ this.contacts) 
    } 

以下マイFirebase JSON構造:

"mycontacts" : { 
"Contacts" : { 
    "John" : { 
    "Address" : "3 London Road", 
    "Email" : "[email protected]", 
    "FirstName" : "John", 
    "LastName" : "Snow", 
    "PhoneNo" : "074236482878" 
    }}} 

結果

enter image description here

答えて

0

あなたが正しく定義されてきたように、あなたのコンポーネント内contactsプロパティがObservableです。したがって、単にconsole.log gingを実行すると、探しているデータが得られません。あなたがコンポーネント内のデータを抽出したい場合した場合は、subscribe

angularFire.collection('mycontacts').valueChanges().subscribe((data) => { 
this.contacts = data; 
}); 

あなたが望むすべては、その後、あなたのページ(テンプレート)に代わりにデータを単に表示するようであれば、と述べたを使用して、それに加入する必要がありますasyncパイプを使用して、Observableデータをページ上に非同期で表示することができます。あなたのテンプレートで

this.contacts = angularFire.collection('mycontacts').valueChanges(); // same code you had 

、パイプを使用して、例えば

<div *ngFor="let contact of contacts | async" [innerHTML]="contact"></div> 

はそれがお役に立てば幸いです。

+0

ありがとうございますAmal、私は次のエラーを取得しています "クラウドFirestore APIは、プロジェクトで有効になっていません" – Miki

関連する問題