verwende ich einen HTML-Code, wie diese mit Vorlage Referenzgröße haben für app-image-upload-component
Wie Ansicht Kinder in angular2
<div *ngFor="let image of images"; let i = index>
<app-image-upload #imageUpload (click)="uploadImage(i)" (image)="setImageData($event, i)">
<img src="assets/img/camera-img.png" alt="img">
<h4>Upload Image</h4>
</app-image-upload>
</div>
Da ist in meinem Typoskript Code, ich tue so etwas wie dieses
@ViewChild('imageUpload') imageUpload: ImageUploadComponent;
uploadImage(index) {
console.log('index', index);
this.imageUpload.showImageBrowseDlg();
}
Wenn Ich fire click event on app-image-upload
, dann zeigt es immer index value 0
, egal was ist der Index *ngFor
.
Ich weiß, dass dies geschieht, weil #imageUpload
nur auf das erste Element von ngFor
refrencing, so ist es eine Möglichkeit, alle Elemente der *ngFor
anders zu verweisen und sie zu nutzen, wie es in meinem Code erforderlich.
Siehe auch http://stackoverflow.com/questions/32693061/angular-2-typescript-get-hold-of-an-element-in-the- Vorlage/35209681 # 35209681 –