vue.js Nuxt:禁用typescript检查

jucafojl  于 2023-05-07  发布在  Vue.js
关注(0)|答案(1)|浏览(298)

我试图从Nuxt禁用vscode中的typescript错误,我试图使用但不起作用,我想像这样的行不会在视觉代码中出现任何错误:

<Reviews :reviewText="reviews.text" :reviewStars="reviews.rating"
       :createdAt="formatDate(reviews.created_at)" 
       :author="reviews.client.name"
       :profilePic="reviews.client.profilePic" class="mx-4">
   </Reviews>

// get error cause i didint check
interface reviews {
    text: string,
    rating: Int32Array,
    created_at: string,
    client: client[]
}

interface client {
    name: string;
    profilePic: string;
}

获取:

Property 'profilePic' does not exist on type '{ name: string; profilePic: string; }[]'.ts(2339)

像“字段”是类型“未知”的错误也是常见的。
上面的代码在浏览器中运行良好,但是在vscode和终端中的typescript声称错误,当我试图保存v-for或v-ifs的行时,它变得非常烦人,比如使用“field.relation1.relation2”,我只是想停止ts检查这样的例子,这就是我想做的。

t9aqgxwy

t9aqgxwy1#

你漏掉了什么类型定义建议'reviews type'具有'client type'的列表。所以行**:profilePic=“reviews.client.profilePic”**不正确。我已经在错误所在的行上方添加了注解...

<Reviews :reviewText="reviews.text" :reviewStars="reviews.rating"
   :createdAt="formatDate(reviews.created_at)" 
   :author="reviews.client.name"
   /* notice reviews.client is an array in this case */
   
   :profilePic="reviews.client.profilePic" 
   class="mx-4"
  >
 </Reviews>

// get error cause i didint check
interface reviews {
    text: string,
    rating: Int32Array,
    created_at: string,
    client: client[]
}

interface client {
    name: string;
    profilePic: string;
}

我建议你修改你的类型定义,或者如果你打算继续使用它,知道它是一个列表,并使用v-for来迭代这些项。
因此,在类型定义中,没有任何东西可以像reviews.client.profilePic一样。reviews.client是包含name和profilePic的对象数组
我认为在你的项目中保留 typescript 仍然是一件好事,但如果你想在文件中删除它,我认为在每个文件上添加tslint:disable会有所帮助。您也可以检查此question out on stackoverflow

相关问题