2017-11-06 9 views
-2

Ich möchte eine Tabelle erstellen, die ein JSON-Objekt anzeigt. Das JSON-Objekt kann mehrere Ebenen haben, so dass ich alle Daten in einer Zeile in der Tabelle anzeigen möchte. In der PLNKR möchte ich, dass das [Objekt] die ID anzeigt.Tabelle passt sich nach JSON-Objekt an

ResultData=[ 
    { 
     "First_name": "xx", 
     "Email": "xxxx", 
     "Phone": "xxx", 
     "countryCode": "+91", 
     "order_datetime": "xxx", 
     "status": 11, 
     "DeviceType": 3, 
     "orderId": { 
      "orderId": "59081a04c9ff6852a49dd32a", 
     },....... 
] 

Plunker: http://plnkr.co/edit/YIEe99h9DSLJLhYR3Ma3

Antwort

0
<tr *ngFor=" let res of ResultData"> 
    <td *ngFor=" let key of keys"> 
    <ng-container *ngIf="key === 'orderId'"> 
     {{res.orderId.Id}} 
    </ng-container> 
    <ng-container *ngIf="key !== 'orderId'"> 
    {{res[key]}} 
    </ng-container> 
    </td> 
</tr> 

Plunker example

+0

Aber wenn ich mit mehr Daten in das Objekt erweitern Ich brauche HTML zu aktualisieren, wäre schön, das nicht brauchen. –

+0

Sie können 'Object.keys()' für jede Eigenschaft aufrufen, um zu überprüfen, ob es sich um einen primitiven Wert oder ein Objekt handelt, und dann ein verschachteltes '* ngFor' verwenden, um diese Eigenschaften anzuzeigen. Es wird dringend davon abgeraten, 'Object.keys()' in View-Binding aufzurufen. Daher sollten Sie Ihre 'Schlüssel' bereits zu einer Baumstruktur machen (Liste mit verschachtelten Objekten und Listen für Objekte mit mehreren Eigenschaften). –

Verwandte Themen