2017-07-24 4 views
1

Wie kann ich den Wert eines Elements mit lokaler Referenz innerhalb der Angular 2 ngFor-Schleife erhalten?Winkel 2 | Wie kann ich den Elementwert innerhalb NgFor Schleife erhalten

meinen Code Siehe unten:

component.html

<tbody> 
     <tr *ngFor="let storages of storageId; let i = index" (click)="storageSelected(i, storageWasSelected)"> 
     <td #storagewasselected>{{ storages.id }}</td> 
     <td>{{ storages.storagetype }}</td> 
     <td>{{ storages.islock }}</td> 
     <td>{{ storages.createdby }}</td> 
     <td>{{ storages.createddate }}</td> 
     </tr> 
    </tbody> 

component.ts

@ViewChild('storagewasselected') storageWasSelected; 

storageSelected(index: number, storageWasSelected){ 
    this.storageEntryService.StartEditStorage.next(index); 
    this.selectedStorageId = storageWasSelected.innerHTML; 
    console.log(this.selectedStorageId); 
} 
+0

Warum nicht einfach 'storages.id' als Parameter an die' storageSelected'-Funktion übergeben, anstatt alles durchzugehen? –

+0

ich bin Neuling in eckigen, wie kann ich das tun? –

+0

erhalten Sie es, danke @R. Richards, 'documentSelected (Index: Nummer, Dokumente) {this.selectedDocumentId = documents.id; } ' –

Antwort

0

Statt eine ViewChild zu verwenden, können Sie nur den Index auf Ihrem storageIndex() übergeben Methode wie diese

(click)="storageSelected(storages.id)" 

Auch Sie dieses

#storagewasselected 

auf Ihrer Vorlage nicht benötigen.

+0

Danke @brijmcq hat diese lokale Referenz bereits entfernt, da ich Speicher als Parameter übergeben kann :) –

Verwandte Themen