Vuejs2 在Mixins Vuejs中找不到函数

Vuejs2 在Mixins Vuejs中找不到函数,vuejs2,mixins,Vuejs2,Mixins,你好,我有一个组件: <template> <upload-btn color="black" title="Carica foto" :fileChangedCallback="fileChange" /> </template> <script> import fileUploadMixin from './../mixins/fileUploadMixin'; export default { name: 'c

你好,我有一个组件:

<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,但实际上是导入的一样

vue.runtime.esm.js?2b0e:1878类型错误:this.fileChanged不是 作用

我还尝试通过以下方式更改我的混音:

methods: {
    fileChanged: function(file){}
}
但它不起作用


我错了什么?

尝试从mixin中删除数据块,或从中返回一个空对象。

mixin应计算:

export default {
    data () {},
    computed: {
         fileChanged(file){
              if(file){
                   this.itemImage = file;
                   this.previewImage  = URL.createObjectURL(file);
              }
          }
      }
 }
对于其他开发人员

我已经解决了

问题是我的Mixins文件扩展名错误


我用了Mixin.vue而不是Mixin.js,谢谢大家的回答。

这是没有必要的。据我所知,这些数据块是合并的。syntactc似乎是正确的,我的疑问在于import语句。您能确定它是否正在解析mixin吗?实际上是的,我正在使用vue cli serve,如果mixin未解析,则编译时返回错误。我尝试更改mixin的扩展名,我已经将.vue和put.js放在一起,似乎返回了不同的错误!是的,问题是我错了,我的课延长了。感谢您返回此错误:属性或方法“fileChanged”未在实例上定义,但在呈现期间被引用。确保此属性是反应性的
export default {
    data () {},
    computed: {
         fileChanged(file){
              if(file){
                   this.itemImage = file;
                   this.previewImage  = URL.createObjectURL(file);
              }
          }
      }
 }