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
this.isFormVisiblengIf="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>
