获取请愿后的Angular2,视图无法正确显示

时间:2017-03-06 22:30:06

标签: angular

在我对角度进行GET请求后,视图无法正确更新。

GET请求用于填充带有选项的下拉菜单,我的问题是下拉列表只显示插入到包含用户所有允许选项的数组中的最后一个选项,尽管如果我检查数组中的在控制台日志中,我可以看到数组中的所有元素。

这是html代码:

<div class="dropdown center">
    <button class="btn btn-xs btn-default dropdown-toggle" type="button" data-toggle="dropdown" style="border-radius: 10px;">
        <i style="color: gray; margin: 5px;" class="fa fa-line-chart  " aria-hidden="true"></i> Oferta <span class="caret"></span>
    </button>
    <ul *ngFor="let li of tabOferta" class="dropdown-menu">
        <li><a (click)="setChange(li,0)">{{li}}</a>
        </li>

    </ul>
</div>

和打字稿代码:

tabOferta: string[] = [];
    this.indicadorService.getIndicadoresCatalogo().then(data => {

  this.zone.run(() => {
    for (let d of data) {
      switch (d.indicador) {
        case "oferta": {

          for (let clave of d.clave) {
            this.tabOferta.push(clave);
          }

          break;
        }
        case "demanda": {

          for (let clave of d.clave) {
            this.tabDemanda.push(clave);
          }

          break;
        }

        case "seguridad": {

          for (let clave of d.clave) {
            this.tabDemanda.push(clave);
          }


          break;
        }

        case "mercadotecnia": {

          for (let clave of d.clave) {
            this.tabDemanda.push(clave);
          }


          break;
        }
        case "comunidad": {

          for (let clave of d.clave) {
            this.tabDemanda.push(clave);
          }


          break;
        }
        case "accesibilidad": {

          for (let clave of d.clave) {
            this.tabDemanda.push(clave);
          }


          break;
        }

        default: {

          break;
        }
      }
    }

  });


});

我错过了什么?为什么只显示一个选项?

1 个答案:

答案 0 :(得分:1)

将你的* ngFor放在li而不是ul元素