迭代通过Object(数据) - Angular

时间:2017-04-18 23:04:44

标签: angular

下面是我的代码,我想要做的是订阅触发send函数后返回的数据。订阅后,我将我的API的数据返回分配给this.Data,以传递给我的ngFor以显示我的数据。但我收到错误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?"

2 个答案:

答案 0 :(得分:2)

直接在键上循环。你应该没事的

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 :(得分:0)

您看到的错误是因为data是一个对象而ngFor需要一个数组。

看一下这个答案:Error trying to diff '[object Object]'

此外,请参阅此角色http服务doc / examples https://angular.io/docs/ts/latest/guide/server-communication.html