【发布时间】:2020-05-16 07:07:27
【问题描述】:
我有一个对象foo,它在整个代码库中都被使用,并且需要从中访问属性bar。但是,由于特定情况,ts 认为属性在其上不存在,即使它实际上存在。所以我在各处都收到了这条消息的红线:
类型“bar”上不存在属性“foo”
在我的 ts-config 文件中,我想将其设置为忽略所有这些错误,但仅适用于 foo 变量。
这个可以吗?
【问题讨论】:
标签: typescript lint tslint tsconfig
我有一个对象foo,它在整个代码库中都被使用,并且需要从中访问属性bar。但是,由于特定情况,ts 认为属性在其上不存在,即使它实际上存在。所以我在各处都收到了这条消息的红线:
类型“bar”上不存在属性“foo”
在我的 ts-config 文件中,我想将其设置为忽略所有这些错误,但仅适用于 foo 变量。
这个可以吗?
【问题讨论】:
标签: typescript lint tslint tsconfig
tsconfig中不能这样做,没有这样的设置。您可以做几件事中的一件。
对any 使用类型断言。使用这个允许所有属性访问:
(bar as any).foo
另一种选择是抑制错误。您可以使用@ts-ignore 来抑制下一行的所有错误
//@ts-ignore
bar.foo // no error
注意:您最好找到错误原因,或者增加类型或将变量类型充电到包含foo 但没有更多细节的情况下很难提出解决方案。
【讨论】: