javascript - 无法在 onUploadProgress 事件中访问 data() (axios)
问题描述
data()
当我在时,我无法访问我的任何数据onUploadProgress
。它每次都返回“未定义”。
<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();
}
}
当我调用一个方法时,它给了我同样的问题,它告诉我它是未知的。
为什么 ?
解决方案
绑定你的 vue 实例:
await this.$axios.post(this.uploadUrl, data, {
onUploadProgress: function (progressEvent) {
console.log(this.isOnUploading);
}.bind(this)
});
推荐阅读
- javascript - 如何在您的谷歌搜索上覆盖 iframe?
- unity3d - Hololens 具有空间意识的角色
- c# - 如何在 C# 中找到 wsdl 服务的参数
- apache-kafka - Apache Kafka 分区偏移量在重新平衡期间倒带
- r - 绘制澳大利亚各州的叶绿素图
- python - youtube 数据 api 将哪些内容归类为无效关键字?
- typescript - TypeScript 导入:无法加载资源 (404)
- r - 将除第一个字母之外的句子的每个单词大写
- php - 将 WooCommerce 城市字段更改为前端和管理中的下拉列表
- swift - macOS WidgetKit 扩展中的钥匙串错误 -25308 (errSecInteractionNotAllowed)