首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vue3类型记录组件不能调用全局混合文件中的方法

vue3类型记录组件不能调用全局混合文件中的方法
EN

Stack Overflow用户
提问于 2022-01-11 07:03:03
回答 1查看 611关注 0票数 1

我已经挣扎了一个星期了,所以如果有人知道的话,如果你能帮忙,我将不胜感激。

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

由于用类型脚本编写的外部模块也被导入和使用,所以组件被defineComponent()包装。

一切都很好,但全球混合部分是问题所在。正如vue正式文档中所描述的那样,用*.js编写的混音被注册为具有app.mixin()的全局混合器。

代码语言:javascript
复制
 // mixin.js 
 export default {
   methods: {
     registerBackButtonCallback() {}
   }
 }

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

‘输入’从不‘没有呼叫签名’

错误和编译失败。但是,当我将this.registerBackButtonCallback()作为本地混合器使用时,它的调用效果很好。

只有在设置错误时才会发生错误。当"tsconfig.json“中的”严格“或”tsconfig.json“选项设置为false时,它将无错误地编译。

由于上述原因,我认为这个错误必须与打字本有关。我认为进行类型论证会很好,所以在src/shims-vue.d.ts中,就像下面的例子一样,我尝试添加它,但是我仍然得到了错误。

代码语言:javascript
复制
declare module 'vue/types/vue' {
  interface Vue {
    registerBackButtonCallback: () => void
  }
}

有没有人尝试过在lang=组件中调用带有脚本vue3“ts”的mehtod全局混合功能?

非常感谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-11 08:28:18

定制Vue类型是一种Vue2实践。在Vue3中,自定义属性在@vue/运行时-core的ComponentCustomProperties中定义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70662796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档