У меня есть следующий компонент, который загружает файл и связывает его содержимое как строку
export class NgCsvComponent {
@Input() csv: any;
@Output() csvChange: any = new EventEmitter();
public localCsv : any = '';
constructor() { }
changeListener($event): void {
this.readFile($event.target);
}
readFile (inputValue : any) : void {
let reader = new FileReader (),
file : File = inputValue.files[0];
reader.readAsText(file);
reader.onload = this.onLoadCallback;
}
onLoadCallback (event) {
this.csvChange.emit(event.target["result"]);
}
}
проблема в том, что this.csvChange
не определено внутри onLoadCallback
, так как я могу передать результат какой-либо переменной в моем компоненте?
Я искал другой подобный вопрос, но так и не получил результат за пределами onloadCallback функция
event.target.result
и всегда показывал ошибку, пока не изменил его наevent.target["result"]
. Благодарю вас! 11.11.2019event.target
набирается какEventTarget
, и у него нет свойстваresult
. Сначала вы должны привести его к FileReader, например:(event.target as FileReader).result
11.11.2019