アカウントページは、ログインしたユーザーにデータを返す必要があります。角2:データをフェッチして単一の値を返す方法は?
と呼ばれるJSONファイルの出力が
getUserData() {
const token = this.currentUser.token;
const body = JSON.stringify({token: token});
return this.http.post('https://test.com/src/getuserdata', body)
.map((response: Response) => {
const data = response.json();
const returnArray = [];
for (let key in data) {
returnArray.push(data[key]);
}
return returnArray;
});
}
ですhttp.get.service.ts:
{
"email":"[email protected]","lastname":"Grimes"
}
account.component.ts私は、次のコードを持っています
export class AccountComponent implements OnInit {
userData: any = [];
constructor(private httpService: HttpService) { }
ngOnInit() {
this.httpService.getUserData()
.subscribe(
data => {
this.userData = data;
}
);
}
}
ngOnInitの応答は
account.component.html " [email protected]、グライムズ"
... <div class="n-r-m-e" [innerText]="userData.email"> <div class="n-r-m-e-v" [innerText]="userData.lastname"> ...
のdivタグである "undefinded" を返します。どうすればこの問題を解決できますか?
私は 'userData:Observable;を使用するとエラーが発生します。 'タイプ'任意の[] 'はタイプ' Observable 'に割り当てられません。 –
Harvix
いいえ、サーバ?その場合は、サーバーにUserオブジェクトを返させる必要があります。タイプをanyに設定して、パイプを介してデータを取得できるかどうかを確認し、タイプセーフした後でモデルを定義してみてください。 – amandala