I get an error "ERROR TypeError: Cannot set property 'id' of undefined" when i try to call getHistoryData() from html.
export class Data { id : string ; fromTime : any ; toTime : any ; deviceType : string ; interval : any; params : string; } // payload : Data = { // id : "00:12:4b:00:19:7b:27:7", // fromTime: "1554422400000", // toTime: "1554508799000" , // deviceType: "xxx", // interval: "1199999", // params: "temperature" // } payload : Data; response : any; generatePayload(){ this.payload.id = "00:12:4b:00:19:7b:27:7", this.payload.fromTime = "1554422400000", this.payload.toTime = "1554508799000", this.payload.deviceType = 'xxx' , this.payload.interval = 1000 , this.payload.params = this.selectedParameter } getHistoryData(){ this.generatePayload() this.historyDataService.getHistoryData(this.payload) .subscribe((data) => this.response = data) } works when i assign the values of payload object directly as shown in the commented code, but when i try to assign the data through a function it throws an error.
this.payloadas an object as you are only defining a typepayload : Data = new Data( );.