【发布时间】:2017-05-19 03:54:04
【问题描述】:
我已经编写了这样的服务代码以从后端读取
getData(): any {
let headers = new Headers(
{
});
let options = new RequestOptions({ headers: headers });
return this.httpClient.get('https://link', options)
.map((res: Response) => res.json())
// .do(data => console.log('All data: ' + JSON.stringify(data)))
.catch((error: any) => Observable.throw(error.json().error || 'Server error'));
以及加载数据的代码
ngOnInit() {
this.service.getData().subscribe(
(res) => {this.Data = res},
(error) => this.errorMessage = <any>error);
}
但是这里它在视图加载后获取数据,所以它给出了错误。
如何在视图加载前加载数据??
【问题讨论】:
-
在您的视图中尝试
async管道。 -
我没听明白?
-
如果您在视图中显示某些内容...例如
*ngFor="let d of Data"添加异步管道,例如*ngFor="let d of Data | async"如果这是您的问题(错误) -
警告:需要阅读大量文档!您可能需要resolve guard。如果你这样做了,当你没有看到结果时,你可以添加
first操作符,比如so。