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];
};
我在我的component.ts中有方法,当我点击输入类型=&#34;文件&#34;调用medthod onChange(),但是当在控制台中留下循环时,我发出了数组未定义的消息。我检查fileReader.result是不是为什么会发生这种情况?如何解决这个问题的一些想法。
答案 0 :(得分:6)
您必须先初始化列表:
let list: string[] = [];
当你做的时候
let list: string[]
你只告诉编译器这个变量是一个字符串数组。但是在运行时它是未定义的,因为你还是没有初始化它。