vue.js - VueJS:编译器错误状态数据属性在通过此属性访问时不存在
问题描述
我遇到的问题似乎只是我的编译器的问题。它不喜欢它找不到我在数据部分中定义的属性。如果我将 'this' 替换为 '(this as any)' 它运行得很好。这让我相信我的打字稿有问题需要解决。该错误消息非常适合我的情况,但我不知道如何解决它。
编辑以添加 shims-vue.d.ts
declare module '*.vue' {
import Vue from 'vue';
export default Vue;
}
解决方案
看起来计算属性可能需要显式类型注释,如在这个答案中。代替
items() {
...
}
你会有
items(): ItemType[] {
...
}
然后打字稿应该理解this
参考。还值得考虑class component syntax,根据我的经验,它更适合 Vue 2 中的 typescript(这个问题不会发生)。