ng不工作angular5

时间:2018-04-21 12:12:31

标签: javascript angular angular5

我正在尝试从我的组件中的服务器显示一些数据。

export class CommerceComponent implements OnInit {

     dealList;

    ngOnInit() {
         this.getDeals();
     }

    getDeals(){
    this.gatewayService.searchDeals(this.searchParams).subscribe(
      (data:any)=>{
        this.dealList = data.result;
        console.log("Deal list",this.dealList[0]);
      },
      (error)=>{
         console.log("Error getting deal list",error);
      }
    );
  }

服务

searchDeals(data){

        var fd = new FormData();
        fd.append('token',this.cookieService.get('token'));
        fd.append('search',data.keyword);

        return this.http.post(config.url+'hyperledger/queryByParams',fd);

    }

在html中

<div class="deal1" *ngFor="let deal of dealList">
  {{deal.Deal.title}}
 </div>

但是列表没有呈现,但是,我得到console.log("Deal list",this.dealList[0]);单个对象和this.dealList返回对象数组

3 个答案:

答案 0 :(得分:1)

如果您在this.dealList[0]中获得结果,则还需要迭代[0]索引项。

<div class="deal1" *ngFor="let deal of dealList[0]">
   {{deal.title}}
</div>

但您的dealList未定义,因此访问[0]会引发异常。你也需要初始化它

dealList = []

答案 1 :(得分:0)

您要显示的标题位于result[i].Deal.title 这是您的JSON响应的图像。

enter image description here

<div class="deal1" *ngFor="let deal of dealList">
    {{deal.Deal.title}}
</div>

答案 2 :(得分:-1)

您正在将response.results对象分配给dealList。您的所有代码都可以,除了模板中的代码。

那是 - &gt;

this.dealList = data.result;

以下是data.result的外观:

enter image description here

我认为应该是:

<div class="deal1" *ngFor="let deal of dealList">
  {{deal.Deal.title}}
 </div>