【问题标题】:Error "TS2339: Property 'X' does not exist on type 'Y'" when calling a data property in a method在方法中调用数据属性时出现错误“TS2339:类型‘Y’上不存在属性‘X’”
【发布时间】:2021-08-14 11:36:37
【问题描述】:

我正在使用带有 Typescript 的 Vuejs 3(而且我是新手)。

当我按下按钮时,我想获取“待办事项”列表中的任务。

这是我的脚本:

<script lang="ts">
import axios from 'axios';

export default {
  name: 'Todos',

  data() {
    return {
      tasks: Array<Task>(),
    }
  },
  methods: {
    async getTasks() {
        await axios.get('https://.../tasks').then(response => {
           this.tasks = response.data 
        })
  }
}

简单地写this.tasks给我这个错误:

TS2339: 类型 '{ getTasks(): Promise 上不存在属性 'tasks' ; }'。

如何从方法中调用数据属性?

【问题讨论】:

    标签: typescript vuejs3


    【解决方案1】:

    使用TS时,需要这样定义组件:

    import { defineComponent } from 'vue'
    
    export default defineComponent({
        ...
    })
    

    Documentation

    【讨论】:

      猜你喜欢
      • 2016-11-14
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 2019-01-11
      • 1970-01-01
      相关资源
      最近更新 更多