我在 WebStorm 中使用 TypeScript 和 Vue3 时遇到了一些奇怪的问题。 目前我正在运行一个 Nuxt3 项目并有一个组件(使用脚本设置语法) - 但是,当我将 ref 输入为布尔值时,我的 WebStorm 似乎无法理解
const showModal = ref<boolean>(false); //Webstorm says this is of type any
const showSearchModal = ref(false) as Ref<boolean>; //This works and the type is boolean
但是,你应该能够做到
ref<T>
?关于为什么 WebStorm 将第一个变量视为 any
的任何想法吗?
您需要使用
Ref
中的 @vue/reactivity/dist/reactivity.d.ts
声明来声明赋值左侧的类型。
您已导入但未使用它(不确定是否需要在 Nuxt 中导入它?):
import { Ref } from 'vue'
const showModel: Ref<boolean> = ref(false)
我遇到了同样的问题:当尝试从反应变量获取数据时,我得到了任何数据。