循环返回服务中的数据

时间:2017-01-25 06:58:21

标签: angularjs

我订阅了一项服务,需要在将服务输出到我的视图之前循环查看服务返回的数据。

如果我控制台将其注销,我会获得所有请求的数据但是当我尝试在视图中输出它时,我只获得数据中的最后一条记录。

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);
  }

}

2 个答案:

答案 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);
  }