繁体   English   中英

类型“{}”上不存在属性“xxx”

[英]Property 'xxx' does not exist on type '{}'

我今天在我的 angular 应用程序中遇到了一个奇怪的行为。

ERROR in src/main(A,B): error TS2339: Property 'XXX' does not exist on type '{}'.

错误发生在以下代码行

xxx.subscribe(data => {
    this.var = data.XXX
});

所以基本上我订阅了一个 observable 并将数据从 observable 映射到一个全局变量。 我的 angular 应用程序按预期工作,所以这个错误似乎对应用程序本身没有影响,但我仍然无法弄清楚这里出了什么问题。 以下是data的控制台日志:

console.log(data)
//{"XXX": "test"}

打字稿抱怨您在数据中没有该属性,您可以使用 any 或使用该属性创建一个接口,

xxx.subscribe((data:any) => {...}

您已将数据实例化为一个对象示例: data = {} 由于对象没有XXX属性,因此会出现此错误。 所以解决方案将是data: {XXX: string, YYY: number ....} = {}

否则,您可以使用data['XXX']访问 XXX,这是最简单的选项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM