2017-03-06 3 views
-1

Nachdem ich eine GET-Petition zu eckig gemacht habe, wird die Ansicht nicht korrekt aktualisiert.Angular2 nach Erhalten der Petition, Ansicht wird nicht korrekt angezeigt

Die GET-Petition wird verwendet, um ein Dropdown-Menü mit Optionen zu füllen, mein Problem ist, dass die Dropdown-Liste nur die letzte Option in einem Array, das alle zulässigen Optionen für den Benutzer enthält, zeigt, wenn ich das Array überprüfen Im Konsolenprotokoll kann ich alle Elemente im Array sehen.

dies ist der HTML-Code:

<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> 

und das Typoskript Code:

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; 
     } 
     } 
    } 

    }); 


}); 

, was ich bin fehlt? Warum wird nur eine Option angezeigt?

+1

Ihre * setzen ngFor auf dem li, nicht die ul – Gab

Antwort

1

Setzen Sie Ihre * ngFor auf dem li nicht das ul-Element

Verwandte Themen