我订阅了一项服务,需要在将服务输出到我的视图之前循环查看服务返回的数据。
如果我控制台将其注销,我会获得所有请求的数据但是当我尝试在视图中输出它时,我只获得数据中的最后一条记录。
export class SandboxComponent implements OnInit {
statusList;
errorMessage;
constructor(private dataService : DataService) { }
ngOnInit() {
this.getStatusTag();
}
getStatusTag(){
this.dataService.getStatusAPI()
.subscribe(
(data) => {
for(let myVar of data){
this.statusList = myVar;
console.log(this.statusList);
}
},
error => this.errorMessage = <any>error);
}
}
答案 0 :(得分:1)
this.statusList = myVar;应该是数组
this.statusList.push(myVar);
答案 1 :(得分:0)
您应该在订阅之前使用map来记录单个数据,并对您的数据进行一些转换。
getStatusTag(){
this.dataService.getStatusAPI()
.map(response =>{
// below you can log a single data
console.log(response);
return response.json()
})
.subscribe(
(data) => {
// below you can log all data
console.log(data);
this.statusList = data;
},
error => this.errorMessage = <any>error);
}