我有一个Vue.js项目,在VS代码中给我奇怪的错误/警告:
- 每当我将一个值作为prop传递给某个定制组件时,就会发生这种情况--例如,在Vuetify组件上就不会发生这种情况
- 它总是只在第一个 prop 上显示此警告
- 不管 prop 是什么类型,也不管传递给 prop 的是什么
- 项目编译时没有错误,浏览器控制台日志中也没有错误,我的项目工作正常
- 我使用"常规/默认"组件样式,而不是基于类的组件样式
- 我使用类型脚本
以下是示例图像中的prop在接收其值的子元素中的定义方式:
import Vue from 'vue';
export default Vue.extend({
name: 'MyCustomComponent',
props: {
title: String,
},
data: function () {},
});
如何才能摆脱这些"无用"的警告?
编辑
根据请求,以下是父组件脚本和子组件脚本:
App.vue
<template>
<v-app>
<v-main>
<hello-world :title="title" :heading="heading" />
</v-main>
</v-app>
</template>
<script lang="ts">
import Vue from 'vue';
import HelloWorld from './components/HelloWorld.vue';
export default Vue.extend({
name: 'App',
components: {
HelloWorld,
},
data: () => ({
title: 'Title!',
heading: 'Heading!',
}),
});
</script>
HelloWorld.vue
<template>
<v-container>
<v-row class="text-center">
<v-col class="mb-4">
<h1>
{{ title }}
</h1>
<h2>
{{ heading }}
</h2>
</v-col>
</v-row>
</v-container>
</template>
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
name: 'HelloWorld',
props: {
title: String,
heading: String,
},
data: () => ({}),
});
</script>
3条答案
按热度按时间qacovj5a1#
您的问题似乎源于
vue-i18n
插件。我用你的代码和最新的vue-2兼容堆栈做了一个codesandbox,我没有收到警告。
总之,我建议你看看沙箱的package.json,更新你拥有的任何软件包,它们的版本比沙箱中的版本低。
很有可能您有一个旧版本的
typescript
,您可能想先从它开始。如果这不能解决问题,请升级
vue-i18n
并检查VSCode是否有任何TS插件/扩展VSCode可能已经安装。如果这不起作用,这应该修复它:
但是同样,对于
"vue": "^2.6.14", "vue-i18n": "8.27.1"
和"typescript": "~4.5.5"
,您应该不需要它。如果上述方法都不能解决您的问题,请尝试在www.example.com或vscode.dev上创建项目的副本codesandbox.io。如果可以复制,请保存并共享该链接。
也许它会有所帮助,下面是一篇较老的文章,概述了几年前
vue-i18n
和typescript
之间的结合是多么的麻烦:https://medium.com/js-dojo/manage-vue-i18n-with-typescript-958b2f69846fflvlnr442#
当我在Vue 2项目中使用VS代码和Volar时,我得到了同样的错误
No overload matches this call
。我错过了安装说明中所述的依赖关系@vue/runtime-dom
:https://marketplace.visualstudio.com/items?itemName=Vue.volar。所以请确保您已经安装了这个包。mu0hgdu03#
我遇到了类似的问题,只是在vuex类型中。看起来问题出在volar + vscode 1.74中。
我安装了
community vscodium version 1.73
,问题消失了另一种解决问题的方法,我可以建议添加到
tsconfig.json
规则"strictFunctionTypes": false
。但我不推荐这种方法,因为它删除了重要的类型检查。