错误错误:“找不到类型为'object'的其他支持对象'[object Object]'。NgFor仅支持绑定到Iterables,例如数组。”

时间:2020-08-31 15:25:53

标签: html angular typescript

我遇到以下问题:我尝试使用ngfor获取“ place”的值。 以下我使用:

.html
<ng-container *ngFor="let se of List" 

继Json:

.json
 "place": [
    {
      "id": 1,
      "name": "Ort",
      "number": "Nummer",
      "type": "Art",
      "height": 20,
      "width": 42,
      "lagerin": [
        {
          "id": 1,
          "secnname": "Regal  ",
          "secnnumber": "R1",
          "sectype": {
            "sectypename": "Big ",
            "ro": 5,
            "co": 2,
            "secheight": 20,
            "secwidth": 6,
            "secdepth": 1,
            "sectco": 1
          }
        },
        {
          "id": 2,
          "secnname": "Reg 2 ",
          "secnnumber": "R2",
          "sectype": {
            "sectypename": "Small",
            "ro": 3,
            "co": 3,
            "secheight": 25,
            "secwidth": 4,
            "secdepth": 2,
            "sectco": 2
          }
        }
      ]
    }
  ]

我收到上面的错误。因此,我的想法是将属性放在“位置”以在我的代码中使用它们。 在我添加“ lagerin”之前,它工作正常。但是我需要在“地方”放置这个。

.ts
  ngOnInit() {
    this.route.queryParams
      .subscribe(params => {
        this.id = params.id;
      });
    if (this.id) {
      this.service.gelager(this.id).subscribe(data => {
        if (data) {
          this.List= data;
        } else {
          console.log('No lager available');
        }
      });
    }
  }

1 个答案:

答案 0 :(得分:0)

如果您的 getLager 方法返回了您向我们展示的Json,那么您应该拥有

this.list = data.place

您的局部变量不应以大写字母开头,这只是一个约定