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

时间:2018-07-17 08:57:50

标签: javascript angular typescript observable

我今天在我的角度应用程序中遇到了奇怪的行为。

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

该错误发生在以下代码行

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

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

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

2 个答案:

答案 0 :(得分:3)

Typescript抱怨数据中没有该属性,您可以使用任何属性或使用该属性创建一个接口,

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

答案 1 :(得分:1)

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

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