Vue 3类型脚本类组件-类型"导入类型(.../node_modules/vue/dist/vue”)“不是构造函数类型

pkwftd7m  于 2023-02-13  发布在  Vue.js
关注(0)|答案(2)|浏览(318)

嗨,我正在使用Vue 3的Typescript和类组件。我刚刚复制粘贴的例子,从文档,但它看起来像有一个问题的Typescript:

TS1238: Unable to resolve signature of class decorator when called as an expression.
  This expression is not callable.
    Type 'typeof import(".../node_modules/vue-class-component/dist/vue-class-component")' has no call signatures.

TS2507: Type 'typeof import(".../node_modules/vue/dist/vue")' is not a constructor function type.

文档:https://class-component.vuejs.org/guide/class-component.html
有人知道丢了什么吗?谢谢!

svgewumm

svgewumm1#

基于这个issue,就不需要那个装饰器了,而且版本3的导入也不同

<template>
  <div>{{ message }}</div>
 
</template>

<script lang="ts">

import { Vue } from 'vue-class-component'

export default class HelloWorld extends Vue {
  message="Hello World"
}
</script>
qmb5sa22

qmb5sa222#

这让我抓狂。我已经在VS Code中愉快地使用Vue和TypeScript有一段时间了,我想我应该再尝试一下使用类样式的组件。

或者很多人建议使用这种旧格式:

这太令人沮丧了!我确信如果我精通TypeScript,我可以调试Vue文件,但肯定的是,关键是他们提供了一个黑盒解决方案?
但是经过几个小时的搜索,当我准备给予的时候,我发现了帕特里斯·费莱在www.example.com上发布的这篇文章dev.to:

<script lang="ts">
import { Component, Vue } from 'vue-facing-decorator'

@Component
export default class ClassComponentExample extends Vue {
  message = 'wow'
}
</script>

而且很有效!原来你现在需要使用vue-facing-decorator。谁知道呢?

相关问题