我想弄清楚一切都出了問題。我所有的觀察對象都返回[object Object]。AngularFire2返回[對象對象]
我sunshine.component.html
<h4>Welcome {{username$}}</h4>
<ul>
<li *ngFor="let addsnote of addsnotes$ | async">{{ addsnote }}</li>
</ul>
我sunshine.component.ts
import { Component, OnInit, Injectable } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms';
import { AngularFire, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2';
export class ProfileComponent implements OnInit {
private addsnotes$: FirebaseListObservable<string[]>;
private username$: FirebaseObjectObservable<string>;
private profileshow = false;
addForm: FormGroup;
constructor(private af: AngularFire){
this.addForm = new FormGroup({
'addnote': new FormControl()
});
}
ngOnInit(){
let user = firebase.auth().currentUser,
userNamePath = `users/${user.uid}/username`,
notesPath = `users/${user.uid}/addnote`;
this.username$ = this.af.database.object(userNamePath);
this.addsnotes$ = this.af.database.list(notesPath);
}
addSubmit(){this.addsnotes$.push('Billy Dee Williams');}
}
我的火力地堡數據庫的某些部分
{
"users" : {
"4twiyaFxVmaESXGWIfW4BwRXh893" : {
"addnote" : {
"-KSmWtpUSFXPCL4O3aKr" : "Do the dishes"
},
"useremail" : "[email protected]",
"username" : "majic"
},
"PYuSE6zyAENdKREZGTHm5VH1DXn1" : {
"addnote" : {
"-KSoZM7sH6X5ahMq7S5y" : "Du the dishes",
"-KSoZMimZzm6ZGQowmuL" : "Du the dishes",
"-KSouEXkc1UkyISGTCHd" : "Du the dishes"
},
"useremail" : "[email protected]",
"username" : "asdasd"
}
}
}
我的網頁的屏幕截圖(爲清楚起見)
編輯我已經包括了我正在進行的項目的回購這裏,從而爲您提供一切儘可能多的信息作爲可能。希望它是有用的。
https://github.com/emjayweb/demo
各文件在SRC /應用/簡檔/ profile.component。由於這完全是WIP,請不要爲它的後勤問題感到擔憂(警衛路由,驗證等)。
這種方式的作用是在主頁上輸入一些虛擬數據創建賬戶,然後點擊導航上的配置文件鏈接。您可能必須先刷新頁面。當您點擊配置文件路線中的按鈕時,您輸入'Billy Dee Williams'到您的addnote
陣列,並且視圖應該反映這一點。
你需要一個'| async',因爲FirebaseObjectObservable也是一個需要解包的異步可見性:'
歡迎{{username $ | async}}
'。我們正在努力通過一些方法使指令更簡單。 – Kato感謝您的信息。我想知道如何格式與對象的異步。這仍然不能解決我的'[對象對象]'問題。我仍然不明白爲什麼會發生這種情況。 – abrahamlinkedin
試着將它輸送到json然後看看你有什麼。 {{用戶名|異步| json}} – Kato