Назначение преобразованных значений ' Base64` в Javascript в методе Vuejs
Я пытаюсь получить информацию о файле из input
в моем type="file"
Когда я запускаю эту функцию Vuejs
в мой input: (event) => {
var reader = new FileReader()
reader.readAsDataURL(event.target.files[0])
let baseFile = ''
reader.onload = function () {
baseFile = reader.result
console.log(baseFile)
};
console.log(baseFile)
const docs = {
name: event.target.files[0].name,
size: event.target.files[0].size,
lastModifiedDate: event.target.files[0].lastModifiedDate,
base64: baseFile
}
this.$emit('input', docs)
}
функция onload дает мне преобразованные файлы, но когда я делаю консоль за ее пределами, значение - это просто пустая строка. Как я могу получить и назначить моей переменной const docs. Помоги мне с этим разобраться. Спасибо.

Ответы - Назначение преобразованных значений ' Base64` в Javascript в методе Vuejs / Assigning converted `Base64` values in Javascript in Vuejs method

27.12.2018 03:59:58
Я рекомендую поместить остальную часть кода в блок этой функции после изменения его на функцию стрелки следующим образом :
input: (event) => {
var reader = new FileReader()
reader.readAsDataURL(event.target.files[0])
let baseFile = ''
reader.onload = () => {// <------ use arrow function
baseFile = reader.result
const docs = {
name: event.target.files[0].name,
size: event.target.files[0].size,
lastModifiedDate: event.target.files[0].lastModifiedDate,
base64: baseFile
}
this.$emit('input', docs)
};
}