2017-04-18 11 views
0

以下は私のコードです。私がしようとしているのは、送信関数がトリガーされた後に返すデータを購読することです。今購読した後、私は私のデータを表示するために私のngForに渡すthis.Dataに自分のAPIからのデータの戻り値を割り当てます。しかし、私はエラーError trying to diff '[object Object]'を取得します。私は、データの表示プロパティに到達していないか、適切な形式(オブジェクト)でデータを受け入れていない可能性がありますか?オブジェクト(データ)を反復する - 角度

Data: DataLink[] = []; 


     Send(){ 

       this.http.forward(this.info) 
       .subscribe(data => { 

        this.Data = data; 


         console.log(data); 
       }) } 

    <div *ngFor="let msg of Data"> 

     {{msg.display}} 


**response** 
data: Array 
    0: Object 
     display: "How are you?" 

答えて

3

は、単純にループのためにこれを参照してください。あなたはすばらしいはずです

Send(){ 

       this.http.forward(this.info) 
       .subscribe(data => { 

       Object.keys(data).forEach(key => { 

        this.Data = data[key]; 

         console.log(data); 
       }) } 

    <div *ngFor="let msg of Data"> 

     {{msg.display}} 
</div> 
1

dataがオブジェクトであり、ngForが配列を必要とするため、あなたが見ているエラーが発生します。

はこの答えを見てみましょう:Error trying to diff '[object Object]'

また、角度httpサービスのdoc /例を直接キーのhttps://angular.io/docs/ts/latest/guide/server-communication.html

+0

私はディスプレイの応答に正しくアクセスしていますか? –

+0

whtaの 'forward'?もっと重要なのは 'this.http'ですか? –

+0

forwardは私のservice.tsの関数です。 –

関連する問題