В моем приложении я пытаюсь разрешить пользователю загружать папку, содержащую файлы json. Затем я хочу иметь возможность циклически просматривать эти файлы и передавать каждый файл в объект данных (еще не здесь).
В настоящее время я даже не могу получить доступ к объекту данных, когда происходит процесс загрузки. Я начинаю задаваться вопросом, возможно ли это вообще таким способом или я должен попробовать что-то еще?
Я довольно новичок в Vue.
data() {
orderedFiles: {}
jsonData: "cat" // this is what I am trying to set to jsonResult
}
Вот мои методы:
async jsonLoop(files){
for(let file of files){
let self = this
let fr = new FileReader()
fr.onload = (e) => {
console.log("onload FIRED")
let jsonResult = e.target.result
document.getElementById('Json').textContent = jsonResult
console.log(self.jsonData) // undefined
}
fr.readAsText(file)
}
},
loadFiles (e) {
if (window.File && window.FileReader && window.FileList && window.Blob) {
let files = Array.from(e.target.files)
// sort files
let orderFiles = this.orderFiles(files)
this.jsonLoop(orderFiles)
console.log(this.jsonData) // undefined
}
else {
alert('The File APIs are not fully supported in this browser. Please use a different browser');
}
}