你好,我有一个组件:
<template>
<upload-btn
color="black"
title="Carica foto"
:fileChangedCallback="fileChange" />
</template>
<script>
import fileUploadMixin from './../mixins/fileUploadMixin';
export default {
name: 'compoment',
mixins: [fileUploadMixin],
components:{
'upload-btn': UploadButton
},
data(){..},
methods: {
fileChange(file){
this.fileChanged(file);
}
}
</script>
然后是我的Mixin:
export default {
data () {
},
methods: {
fileChanged(file){
if(file){
this.itemImage = file;
this.previewImage = URL.createObjectURL(file);
}
}
}
}
问题在于它会返回此错误,例如不包含mixins,但实际上是导入的。
vue.runtime.esm.js?2b0e:1878 TypeError:this.fileChanged不是 功能
我也尝试过用以下方式更改我的mixin:
methods: {
fileChanged: function(file){}
}
但它不起作用。
我怎么了?
答案 0 :(得分:0)
尝试从混入中删除数据块,或从其中返回一个空对象。
答案 1 :(得分:0)
应计算Mixin:
export default {
data () {},
computed: {
fileChanged(file){
if(file){
this.itemImage = file;
this.previewImage = URL.createObjectURL(file);
}
}
}
}
答案 2 :(得分:0)
对于其他开发人员。
我已经解决了。
问题是我的Mixins文件扩展名错误。
我放置了 Mixin.vue 而不是 Mixin.js ,谢谢大家的回答。