sHamann
sHamann

Reputation: 799

Property 'xxx' does not exist on type '{}'

I run into a strange behavior in my angular app today.

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

The error occured at the following line of code

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

So basically i subscribe to an observable and map the data from the observable to an global var. My angular App works as intended, so this error seems to have no effect on the app itself, but I still can't figure out whats wrong here. Below is the console log of data:

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

Upvotes: 3

Views: 5757

Answers (2)

Sajeetharan
Sajeetharan

Reputation: 222532

Typescript complains that you do not have the property inside the data, you can either use any or create an inteface with that property,

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

Upvotes: 6

Malindu Sandaruwan
Malindu Sandaruwan

Reputation: 1517

You have instantiated data as just an object example : data = {}. As object doesn't have XXX property it gives this error. So solution will be data: {XXX: string, YYY: number ....} = {}

Else you can access XXX with data['XXX'] which is the easiest option

Upvotes: 2

Related Questions