"参数 'props' 隐式地具有 'any' 类型' - Vue 2,组合 API 问题



我在尝试将TypeScript添加到现有的Vue 2.6项目后卡住了。由于遗留问题,它必须保持在2.6版本。我已经安装了复合API作为一个插件。

我遇到的错误出现在多个组件上,如下所示:

Parameter 'props' implicitly has an 'any' type.

这是我的代码:

<script lang="ts">
import { reactive, computed } from "vue";
export default {
name: "Avatar",
props: {
title: {
type: String,
default: "my title",
},
alt: {
type: Boolean,
default: false,
},
size: {
type: String,
default: "regular",
},
},
setup(props) {
props = reactive(props);
return {
classes: computed(() => ({
avatar: props.title,
"avatar--alt": props.alt,
"avatar--small": props.size == "small",
})),
};
},
};
</script>

问题发生在包含setup(props) {的行。

虽然在设置中添加类型any到props可以消除错误,但我知道这不是正确的解决方案。

你对这个问题有什么建议或解决办法吗?

Vue 2.6默认没有组合api,我建议升级到包含它的Vue 2.7:

https://blog.vuejs.org/posts/vue-2-7-naruto.html

如果这是不可能的,并且你正在使用vue 2组合API插件,检查你正在使用正确的导入:

// use the APIs
import { ref, reactive } from '@vue/composition-api'

最新更新