javascript - Javascript Vue:onFileChange(e)中的变量'e'来自哪里?
问题描述
Javascript Vue:变量e
来自onFileChange(e)
哪里?
在下面的代码中,有一个变量,它起源e
于onFileChange(e)
哪里?它从来没有在代码中声明或导入,那么它怎么可能有效呢?
任何帮助将不胜感激。
<template>
<div class="container" style="margin-top: 50px;">
<div class="text-center">
<h4>File Upload with VueJS and Laravel</h4>
<br />
<div style="max-width: 500px; margin: 0 auto;">
<div v-if="success !== ''" class="alert alert-success" role="alert">
{{success}}
</div>
<form @submit="submitForm" enctype="multipart/form-data">
<div class="input-group">
<div class="custom-file">
<input
type="file"
name="filename"
class="custom-file-input"
id="inputFileUpload"
v-on:change="onFileChange"
/>
<label class="custom-file-label" for="inputFileUpload"
>Choose file</label
>
</div>
<div class="input-group-append">
<input type="submit" class="btn btn-primary" value="Upload" />
</div>
</div>
<br />
<p class="text-danger font-weight-bold">{{filename}}</p>
</form>
</div>
</div>
</div>
</template>
<script>
export default {
mounted() {
console.log("Component successfully mounted.");
},
data() {
return {
filename: "",
file: "",
success: ""
};
},
methods: {
onFileChange(e) {
//console.log(e.target.files[0]);
this.filename = "Selected File: " + e.target.files[0].name;
this.file = e.target.files[0];
},
submitForm(e) {
e.preventDefault();
let currentObj = this;
const config = {
headers: {
"content-type": "multipart/form-data",
"X-CSRF-TOKEN": document.querySelector('meta[name="csrf-token"]')
.content
}
};
// form data
let formData = new FormData();
formData.append("file", this.file);
// send upload request
axios
.post("/store_file", formData, config)
.then(function(response) {
currentObj.success = response.data.success;
currentObj.filename = "";
})
.catch(function(error) {
currentObj.output = error;
});
}
}
};
</script>
解决方案
当一个变量被调用e
时,它通常是事件。您始终可以console.log(e)
在浏览器控制台中读取其属性。
但根据这个例子 e
是上传的文件:
methods: {
thumbUrl (file) {
return file.myThumbUrlProperty
},
onFileChange (file) {
// Handle files like:
this.fileUploaded = file
}
}
推荐阅读
- json - 无法将 Json 数组解码为列表
并得到错误类型'_InternalLinkedHashMap ' 不是类型 'List 的子类型 ' - android - 对复合对象的 LiveData 的更改
- c++ - C ++更改for循环的条件评估
- hibernate - Hibernate:超类映射到子类中的@UniqueConstraint
- node.js - 为什么我的函数在命令行中运行两次但在 vscode 中没有
- java - 学校 Java 密室逃脱计划
- python - 高维高斯平均
- model-view-controller - 使用 dropzone 使用 mvc webapi 上传图像
- c# - Spreadsheets.Get() 请求总是返回 500
- angular - 错误:NodeInjector:NOT_FOUND [NgControl]