vscode中Vue3项目开发,TS编辑时错误与编译时错误不一致,并且报错跟随编辑消失
特别地:参数隐式具有“any”类型。ts-plugin(7006)
复现:
// 子组件声明类型
const emits = defineEmits<{
(e: 'change-doc', docId: string): void
}>()
// 父组件使用子组件报错:参数“docId”隐式具有“any”类型。ts-plugin(7006)
<Child @change-doc="(docId) => docId" />
上述docId应该能被隐式的类型推导为string类型的但报错了
随便编辑后报错消失,类型推导修复
相关依赖版本
Vue 3.5.13
TypeScript 5.7.2
vscode 1.96.2
Vue-Official 2.2.0
1.变更Vue-Official插件版本至2.0.10,就没有这些类型推导报错了,但会缺失一些报错,比如标识符重复ts(2300)等,只能在打包编译时报错发现
2.变更vscode Typescript 和项目内依赖版本,5.2.2/5.6.x/5.7.2,貌似不影响
3.对于tsconfig和eslinttrc一些配置项进行更改,貌似不影响
问问各位大佬
1.ts编辑时类型检查依赖于哪些版本和配置?
2.怎么解决这个时有时无的问题,我电脑问题还是版本不兼容哇?