我想从http get中获取一个对象,并在获得后将其放入3个变量中。
Data: [
{
reportId: 1,
results1: [{
name: "TotalReferralsMade",
optionId: 3082,
factor: 1,
description: null
}],
results2: [ ],
results3: [{
name: "2014/15",
dateRangeId: 469,
dateFrom: "2014-04-01T00:00:00.000Z",
dateTo: "2015-03-31T00:00:00.000Z"
}]}]
我想要的数据高于3个变量。以下是数据的http请求。
public GetReportOptions (): Observable<ReportOptions[]> {
return this._http.get('uri')
.map((response: Response) => <ReportOptions[]>response.json())
.do(data => console.log("Options: " + JSON.stringify(data)))
.catch(this.handleError);
}
所以我调用作为订阅组件的服务的一部分。然后在组件中我调用ngOnChanges中的数据
getReportOptions(id: number) {
this._Service.GetReportOptions(id)
.subscribe(options => this.results = options }, error => this.errorMessage = <any>error)
}
这会将所有数据放入一个名为results的对象中。我希望数据进入results1,results2,results3。可以这样做吗?
答案 0 :(得分:0)
我一直在质疑我是否正确理解你的问题,主要是因为它不是一个Angular2问题而是更多的Javascript / Typescript问题。我相信这是你正在寻找的答案(如果我在这里理解问题和目标)。
getReportOptions(id: number) {
this._Service.GetReportOptions(id)
.subscribe(options => {
//this.results = options;
this.results1 = options[0].results1;
this.results2 = options[0].results2;
this.results3 = options[0].results3;
}}, error => this.errorMessage = <any>error)
}