Home > Back-end >  extract object in mat-grid-tile
extract object in mat-grid-tile

Time:01-24

I'm try to create mat-grid-list by loop [object]. e.g object:

[{ "db": {
        "user": "<User>",
        "password": "<Password>",
        "server": "<Server>",
        "database": "<Database>",
        "trustServerCertificate": true,
        "options": {
          "instanceName": "<Instance Name>",
          "port": 111
        }
      }}]

my problem to extract "options" in mat-grid-tile. I'm tried to use ng-template but it did not work I got a empty value

     <mat-card *ngFor="let settings of conf.environment.db | keyvalue">       
       <mat-grid-list cols="2" rowHeight="20px">
        <ng-template [ngIf]="settings.key !== 'options'; else _options">
          <mat-grid-tile id="title">{{settings.key}}</mat-grid-tile>
          <mat-grid-tile id="description">{{settings.value}}</mat-grid-tile>
        </ng-template>
       </mat-grid-list>
     </mat-card>

     <ng-template #_options  ngFor let-opt [ngForOf]="conf.environment.db.options | keyvalue">   
           <mat-grid-tile id="title">{{opt.key}}</mat-grid-tile>
           <mat-grid-tile id="description">{{opt.value}}</mat-grid-tile>
     </ng-template>

Thanks for help.

CodePudding user response:

Try to modify it as follows:

<mat-card *ngFor="let settings of data.db | keyvalue">
  <mat-grid-list *ngIf="settings.key != 'options'; else _opt" cols="2" rowHeight="20px">
    <mat-grid-tile  id="title">{{ settings.key }}</mat-grid-tile>
    <mat-grid-tile id="description">{{ settings.value }}</mat-grid-tile>
  </mat-grid-list>
</mat-card>

<ng-template #_opt>   
 <div *ngFor="let opt of data.db.options | keyvalue">
  <mat-grid-list  cols="2" rowHeight="20px">
    <mat-grid-tile  id="title">{{ opt.key }}</mat-grid-tile>
    <mat-grid-tile id="description">{{ opt.value }}</mat-grid-tile>
  </mat-grid-list>
 </div>
</ng-template>
  •  Tags:  
  • Related