【发布时间】:2022-10-18 02:37:15
【问题描述】:
我今天开始了一个小型项目(向经典的 Snake 游戏致敬),一切正常,但是 VS Code 在 Vue 组件中显示了两个错误,并且它似乎使用了过时版本的导入类和组件。
最初我从一个类开始,但后来我添加了一个真正只公开公共属性(通过 getter 和 setter)和方法的接口。但是使用该类的组件仍然认为该类作为参数是必需的,并抱怨私有属性在该类型上不可用。
我不确定错误是来自 VS Code 本身还是推荐用于 Vue3 和 Typescript 的 Volar 扩展。
该代码可作为公共 github 存储库获得:https://github.com/onyx-blackbird/vue-snake/blob/master/src/components/GameGrid.vue
红色的行是:撰写本文时的#23 和#122。如果我同时在这里更新文件这两行(在这两种情况下,snake 都属于 ISnake,并且方法和组件都期望 ISnake):const { food, placeFood } = useFood(maxX, maxY, snake);<SnakeFigure :snake="snake" :is-game-over="isGameOver"></SnakeFigure>
这里引用的类和接口: https://github.com/onyx-blackbird/vue-snake/blob/master/src/model/Snake.ts
【问题讨论】:
-
也许 Volar 正在使用不同的 tsc 版本。您可以通过在 vscode 上运行
cmd + shift + P->Volar: Select typescript version来检查它
标签: visual-studio-code vuejs3 volar