2017-01-25 7 views
0

私はサービスに加入しており、サービスから返されたデータをループしてビューに出力する必要があります。返されたサービスからのデータをループする

私がコンソールにログアウトすると、要求されたすべてのデータが取得されますが、ビューで出力しようとするとデータの最後のレコードしか取得されません。

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

ビューをどのようにループしますか? – Sajeetharan

+0

'this'.statusList'に' data'の最後の値を効果的に割り当てる代わりに、 'this.statusList'を** Array **と[push()](https://developer.mozilla)にする必要があります.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push)に 'myVar'の値を追加します。 – Ankit

答えて

1

this.statusList = myVar;配列でなければなりません

this.statusList.push(myVar); 
0

サブスクライブする前にマップを使用して、単一のデータをログに記録し、データに変換する必要があります。

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

'data.status'' data.location'と 'data.sublocation'をさらにログしたいのですが?あなたは1つの購読方法でそれを行うことができますか? 'getStatus.subscribe()' '' getLocation.subscribe() 'と' getSubLocation.subscribe() 'という新しいメソッドを作る必要がありますか? .mapメソッドの – ottz0

+0

では、console.log(response.status)とconsole.log(response.location)を使用できます。 –

関連する問題