首页 > 解决方案 > VueJS:编译器错误状态数据属性在通过此属性访问时不存在

问题描述

我遇到的问题似乎只是我的编译器的问题。它不喜欢它找不到我在数据部分中定义的属性。如果我将 'this' 替换为 '(this as any)' 它运行得很好。这让我相信我的打字稿有问题需要解决。该错误消息非常适合我的情况,但我不知道如何解决它。

在此处输入图像描述

编辑以添加 shims-vue.d.ts

declare module '*.vue' {
  import Vue from 'vue';
  export default Vue;
}

标签: vue.js

解决方案


看起来计算属性可能需要显式类型注释,如在这个答案中。代替

items() {
...
}

你会有

items(): ItemType[] {
...
}

然后打字稿应该理解this参考。还值得考虑class component syntax,根据我的经验,它更适合 Vue 2 中的 typescript(这个问题不会发生)。


推荐阅读