typescript - Hvordan bytter man vis/skjul i ng-template på Angular?


Dette er hva jeg prøvde, og selvfølgelig gjør det alle elementene synlige:

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

Hvordan gjør du dette ved å bare vite indeksen, og uten å duplisere elementene?

Svar #1

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

Problemet er med den store i-bokstaven.

Svar #2

Ser ut til at løsningen ikke var så komplisert, inspirert 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>

Relaterte artikler