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.
You need to initialise your payload
property with an object before you assign it with any values.
payload : Data = {
id : undefined,
fromTime: undefined,
toTime: undefined ,
deviceType: undefined,
interval: undefined,
params: undefined
};
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
}
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments