【发布时间】:2022-11-18 00:06:14
【问题描述】:
在尝试将 TypeScript 添加到现有 Vue 2.6 项目后,我遇到了困难。 由于遗留原因,它必须保留在版本 2。
我遇到的错误发生在多个组件上,如下所示:
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.0 没有内置的 Composition Api 支持。使用这个包github.com/vuejs/composition-api
-
您可以查看typescript option-api 以获取有关声明组件和语法糖的更多信息。 Vue 的文档非常好。
-
哦抱歉需要将此信息添加到我的问题中,已经添加了组合 api 插件:/
标签: typescript vue.js vuejs2