我對Angular2相當陌生,並且想要從JSON文件加載數據。 我讀了AngularIO文章並做了教程,但我仍然需要一些幫助。 我將「獲取數據」分解爲一個加載數據和組件的apiService,它從apiService獲取數據。Angular2 Observable HTTP Data未填充
因爲這個問題比較簡單,所以我想直接將數據加載到沒有apiService的組件。
這是成分:
export class StatusComponent implements OnInit {
private status = {};
private error: string;
constructor(private router: Router, private variables: Variables, private apiService: ApiService, private http: Http) {
if (!this.variables.getIsLoggedIn()) {
this.router.navigate(['login']);
}
}
ngOnInit() {
this.getStatus();
}
getStatus() {
this.http.get('../app/apiFiles/status.json')
.map((res:Response) => res.json())
.subscribe(
data => { this.status = data},
err => console.error(err),
() => console.log('done')
);
console.log(JSON.stringify(this.status));
}
}
這是JSON:
{
"status": {
"timercount": "0",
"reccount": "0"
}
}
在組件中,getStatus()
被正確加載,經過沒有發生錯誤,但變量i填status
沒有填滿。 getStatus()
之後的變量仍然是{}
。 此外,console.log(JSON.stringify(this.status));
的輸出是{}
。
我希望有人能幫助我解決它! 非常感謝!
謝謝,但沒有,這不是解決辦法:/ – Junias
解決方案是使用'this.status = data.status',然後加載數據...;) 但非常感謝! – Junias