typescript - Hur växlar man visa/dölj i ng-template i Angular?


Det här är vad jag försökte, och naturligtvis gör det alla objekt synliga:

<ng-template let-file let-i="index" pTemplate="file">
  <div class="ui-fileupload-row">
    <div><img [src]="file.objectURL" width="50"/></div>
    <div>{{file.name}}</div>
    <div>{{formatSize(file.size)}}</div>
    <div><button (click)="toggleIsFormVisible()">Add metadata <i class="fa fa-plus"></i></button></div>
  </div>
  <div *ngIf="isFormVisible"></div>
</ng-template>

toggleIsFormVisible()
{
    this.isFormVisible = !this.isFormVisible;
}

Hur gör man detta genom att endast veta indexet, och utan att duplicera objekten?

Svar #1

  1. this.isFormVisible
  2. ngIf="IsFormVisible"

Problemet är med den stora bokstaven i.

Svar #2

Verkar som att lösningarna inte var så komplicerade, inspirerad av msanford.

<ng-template let-file let-i="index" pTemplate="file">
  <div class="ui-fileupload-row">
    <div><img [src]="file.objectURL" width="50"/></div>
    <div>{{file.name}}</div>
    <div>{{formatSize(file.size)}}</div>
    <div><button (click)="file.isFormVisible = !file.isFormVisible">Add metadata <i class="fa fa-plus"></i></button></div>
  </div>
  <div *ngIf="file.isFormVisible"></div>
</ng-template>

Relaterade artiklar