angular - Hämta namn från klickad dragspel


Hej, jag fick ett enkelt dragspel baserat på API:et "names"

<div *ngFor="let item of showDirNames | async | filter: name; let i = index;">
   <button class="accordion" (click)="toggleAccordian($event, i)"> {{item.name}} </button>
   <div class="panel" *ngFor="let child of fileUploads | async | filter: name" hide="!item.isActive">
      <p *ngFor="let child of fileNames| async | filter: name"> {{child.name}} </p>
   </div>
</div>

det ser ut som:

KatalogNamn_1

  • filnamn
  • filnamn

DirName_2

  • filnamn
  • filnamn

När jag klickar på DirName_1 får jag en lista med filnamn inuti den här katalogen. Hur kan jag få namnet (till exempel DirName_1) från användaren? Jag vill veta vilken dragspel användaren klickade på. För att servera filnamn till honom.

Svar #1

Du kommer behöva skicka item.name till toggleAccordian (förresten: du stavade fel på toggleAccordion):

<div *ngFor="let item of showDirNames | async | filter: name; let i = index;">
   <button class="accordion" (click)="toggleAccordian($event, i, item.name)"> {{item.name}} </button>
   <div class="panel" *ngFor="let child of fileUploads | async | filter: name" hide="!item.isActive">
      <p *ngFor="let child of fileNames| async | filter: name"> {{child.name}} </p>
   </div>
</div>

toggleAccordian är inte fast i det här exemplet, du måste ändra varje förekomst själv (om du vill).