You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 07:35:26