Vue: 在TypeScript 3.6.2中找不到和/或键入错误的数据属性

创建于 2019-08-30  ·  4评论  ·  资料来源: vuejs/vue

2.6.10

复制链接

https://jsfiddle.net/keegan_openbay/nhvemx32/ (请注意,JSFiddle不显示TypeScript编译器错误)

重现步骤

  • 使用TypeScript> = 3.6.1-beta(当前稳定在3.6.2)
  • 至少有一个道具
  • 正确键入所有方法
  • 在组件选项中使用非字符串data属性

期望什么?

正常行为; 正确键入了data属性并在实例上找到了该属性。

实际发生了什么?

出现错误是因为:

  • methods ,未在组件类型上找到数据属性。
  • watch ,数据属性键入string | WatchOptionsWithHandler<any> | WatchHandler<any>
  • computed ,数据属性键入(() => any) | ComputedOptions<any>

Screen Shot 2019-08-29 at 6 50 52 PM
Screen Shot 2019-08-29 at 7 00 23 PM
Screen Shot 2019-08-29 at 7 10 17 PM

bug typescript

最有用的评论

我已经将其提交给TypeScript存储库。
https://github.com/microsoft/TypeScript/issues/33164

所有4条评论

在3.5.3上时,确实不再工作了。 不知道这是否是上游问题,但我们的类型出现了问题

我只是在调查。 仍然不确定是否是上游错误。 但是注释datathis类型可以解决:

data(this: any): { loading: boolean; fade: boolean } {
  // ...
}

我已经将其提交给TypeScript存储库。
https://github.com/microsoft/TypeScript/issues/33164

TypeScript v3.6.3已发布,可以解决此问题。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Jokcy picture Jokcy  ·  3评论

lmnsg picture lmnsg  ·  3评论

bdedardel picture bdedardel  ·  3评论

wufeng87 picture wufeng87  ·  3评论

hiendv picture hiendv  ·  3评论