vue3 typescript组件无法在全局mixin中调用方法

vue3 typescript component can't call method in global mixin

我已经为此苦苦挣扎了大约一个星期,所以如果有人知道,如果你能提供帮助,我将不胜感激。

作为一个新项目,我一直在将基于 vue2 的代码转换为 vue3。 我不使用组合api,而是将其用作基于对象的组件方式。

由于用typscript编写的外部模块也被引入和使用,组件用defineComponent()包装。

一切正常,但全局混合部分是问题所在。 如vue官方文档所述,用*.js编写的mixin注册为全局mixin,app.mixin().

 // mixin.js 
 export default {
   methods: {
     registerBackButtonCallback() {}
   }
 }

如果我在组件文件中调用 this.registerBackButtonCallback(),

'Type 'never' has no call signatures'

错误,编译失败。 但是当我将它用作本地 mixin 时,调用 this.registerBackButtonCallback() 效果很好。

只有在设置