1

我正在關注爲我的項目設置Firebase的AngularFire2文檔。我無法從數據庫中檢索任何數據。AngularFire2:從數據庫中獲取空對象

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

我的火力地堡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它不會給你你正在尋找的數據。如果如果你想提取該組件中的數據,那麼你必須使用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,我收到以下錯誤消息「Cloud Firestore API未啓用該項目」 – Miki