2017-08-17 4 views
0

Wie kann ich Wert mit eckig/Typoskript in dieser Tabelle erhalten ..Angular/Typoskript: Get Value in einer Tabelle

My console log

Wie kann ich den Wert von Code und Label bekommen .. Ich habe versucht, Code zu tun, aber es wird nicht gearbeitet:

MyComponent.ts

jsonsTypes = []; // define here global variable 
    saveFolder() { 
     let tab = []; 
     this.adminService.getLabelByCode(code).subscribe(
      labelByCode => { 
      tab.push({ 
       'code': code, 
       'label': labelByCode.label 
      }); 
      }); 
      this.jsonTypes.push(tab); 
      //here when I do console.log(tab); ==> I have the result of the picture 
     for (var index = 0; index < this.jsonTypes.length; index++) { 
      console.log(jsonTypes[index]); 
      console.log(jsonTypes[index].code); // ==> undefined    
      // How can I get value ? 
     } 
    } 
+2

Tun Sie das für innen subscribe, weil der Wert einmal getLabelByCode (Code) zugewiesen ist beendet. Sie tun die for-Schleife außerhalb dieses und daher durchläuft es ein leeres Array. – trungk18

+0

Ihre Subscribe-Methode passt nicht wirklich hinein. Das Abonnement sollte einmal durchgeführt werden. – Christian

+0

Ich mache Fehler in meinem ersten Beitrag - ich bearbeite es – user1814879

Antwort

0

Dadurch wird der Code zur Folge:

console.log(jsonTypes[index][0].code); 

Aber das Problem ist, dass Sie nicht "Tab" zu einem Array machen müssen.

Versuchen Sie dies ... Es ist nicht getestet, sollte aber funktionieren.

jsonsTypes = []; // define here global variable 
saveFolder() { 
    this.adminService.getLabelByCode(code).subscribe(
    labelByCode => { 
    this.jsonTypes.push({ 
     'code': code, 
     'label': labelByCode.label 
     }); 
    }); 

    for (var index = 0; index < this.jsonTypes.length; index++) { 
    console.log(jsonTypes[index]); 
    console.log(jsonTypes[index].code); 
    } 
}