Javascript Can';在onUploadProgress事件(axios)中访问数据()
在Javascript Can';在onUploadProgress事件(axios)中访问数据(),javascript,vue.js,axios,nuxt.js,Javascript,Vue.js,Axios,Nuxt.js,在onUploadProgress中时,我无法访问data()中的任何数据。它每次都返回“未定义” <template> <el-upload ref="upload"></el-upload> <el-button type="primary" :loading="isOnUploading" @click="submitUpload">{{ $t('
onUploadProgress
中时,我无法访问data()
中的任何数据。它每次都返回“未定义”
<template>
<el-upload ref="upload"></el-upload>
<el-button type="primary" :loading="isOnUploading" @click="submitUpload">{{ $t('add') }}</el-button>
</template>
export default {
data() {
return {
isOnUploading: false,
}
},
methods: {
async uploadFile(event) {
const data = new FormData();
data.append('file', event.file);
await this.$axios.post(this.uploadUrl, data, {
onUploadProgress: function (progressEvent) {
console.log(this.isOnUploading); // Return undefined
}
});
}
submitUpload() {
this.$refs.upload.submit();
}
}
{{$t('add')}
导出默认值{
数据(){
返回{
等积:假,
}
},
方法:{
异步上载文件(事件){
const data=新表单数据();
data.append('file',event.file);
等待此消息。$axios.post(this.uploadUrl,data{
onUploadProgress:函数(progressEvent){
console.log(this.isOnUploading);//返回未定义
}
});
}
submitUpload(){
这是。$refs.upload.submit();
}
}
当我调用一个方法时,它给了我同样的问题,它告诉我它是未知的
为什么?绑定您的vue实例:
await this.$axios.post(this.uploadUrl, data, {
onUploadProgress: function (progressEvent) {
console.log(this.isOnUploading);
}.bind(this)
});
您的大括号嵌套不正确。您是在return语句之后定义这些函数的。@str这是Stackoverflow中的一个编码错误,我已修复了它,谢谢这回答了您的问题吗?