Syn*_* Ko 7 typescript vue.js visual-studio-code
我有一个 Vue.js 项目,它在 VS Code 中给出了奇怪的错误/警告:
以下是示例图像中的 prop 在接收其值的子元素中的定义方式:
import Vue from 'vue';
export default Vue.extend({
name: 'MyCustomComponent',
props: {
title: String,
},
data: function () {},
});
Run Code Online (Sandbox Code Playgroud)
我怎样才能摆脱这些“无用”的警告?
根据要求,以下是父组件和子组件脚本:
应用程序.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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
看起来你的问题源于插件vue-i18n。
我使用你的代码和最新的 vue-2 兼容堆栈制作了一个codesandbox,但我没有收到警告。
总之,我建议您查看沙箱的package.json并更新您拥有的且版本低于沙箱中版本的所有软件包。
您很可能拥有旧版本的typescript,您可能想先从它开始。
如果这不能解决问题,请升级vue-i18n并检查 VSCode 是否有 VSCode 可能已安装的任何 TS 插件/扩展。尝试禁用或升级它们。
如果这不起作用,这应该可以解决它:
import { TranslateResult } from "vue-i18n";
export default {
props: {
title: [String, TranslateResult],
},
}
Run Code Online (Sandbox Code Playgroud)
但同样,使用"vue": "^2.6.14", "vue-i18n": "8.27.1"and"typescript": "~4.5.5"你不应该需要它。
如果以上方法都不能解决您的问题,请尝试在codesandbox.io 或vscode.dev 上创建项目的副本。如果您能够重现它,请保存并共享链接。
如果可能有帮助,这里有一篇较旧的文章概述了几年前的婚姻是多么麻烦:vue-i18nhttps ://medium.com/js-dojo/manage-vue-i18n-with-typescript -958b2f69846ftypescript