Nuxt.js 2选项式API+TypeScript下TS7017错误修复咨询
修复Nuxt.js 2选项式API结合TypeScript的计算属性TS7017错误
错误根源是你用箭头函数定义计算属性的get和set方法,箭头函数会绑定外部的globalThis而非Vue组件实例,导致TypeScript无法识别this的类型,从而抛出TS7017错误。
修复方案1:改用普通函数
将箭头函数替换为普通函数,让this正确指向组件实例,TypeScript就能自动推断类型:
computed: { form: { get() { return this.value }, set(value) { this.$emit('input', value) } } }
修复方案2:手动指定组件类型(更严谨)
如果需要更严格的类型检查,用Vue.extend定义组件,明确props和emit的类型:
import Vue from 'vue' export default Vue.extend({ props: { value: { type: [String, Object, Number], // 根据你的实际业务调整类型 required: true } }, computed: { form: { get() { return this.value }, set(value: typeof this.value) { this.$emit('input', value) } } } })
内容的提问来源于stack exchange,提问作者Aslero
相关产品推荐
相关产品推荐

