javascript - Odefinierad Array
public onChange(event: Event) {
let files = event.target['files'];
let list: string[];
console.log(files);
for (var i = 0; i < files.length; i++) {
if (FileReader && files && files.length) {
let fileReader = new FileReader();
fileReader.onload = () => {
let infoFile: string = fileReader.result;
list.push(infoFile);
};
fileReader.readAsDataURL(files[i]);
}
}
console.log(list);
let preview = document.querySelector('img');
preview.src = list[0];
};
Jag har en metod i min component.ts när jag klickar på input type="file" som kallas metod onChange(), men när jag lämnar loop för i konsolen får jag meddelandet att arrayen är odefinierad. Jag har kontrollerat att fileReader.result inte är tomt. Varför händer detta? Hur löser man detta problem, någon idé.
Svar #1
du måste initialisera listan först:
let list: string[] = [];
när du bara gör
let list: string[]
Du säger bara till kompilatorn att denna variabel kommer att vara en array av strängar. Men vid körning är den odefinierad, eftersom du inte initialiserade den ändå.
