【发布时间】:2019-03-02 10:57:59
【问题描述】:
您好,我有一个组件:
<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 is not a 功能
我也尝试过更改我的 mixin:
methods: {
fileChanged: function(file){}
}
但它不起作用。
我怎么了?
【问题讨论】:
-
Syntactc 似乎正确,我的疑问是在 import 声明中。你能确定它是否在解决 mixin 吗?
-
实际上是的,我正在使用 vue-cli-serve,如果没有解决 mixin,它会在编译时返回错误。我尝试更改 mixin 的扩展名,我放了 .vue 并且放 .js 似乎返回不同的错误!
-
是的,问题是我的课程扩展名错了。谢谢你