当我尝试从 html 调用 getHistoryData() 时,出现错误“错误类型错误:无法设置未定义的属性‘id’”。
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)
}
当我直接分配有效载荷对象的值时有效,如注释代码所示,但当我尝试通过函数分配数据时它会抛出错误。
最佳答案
在为它分配任何值之前,您需要使用对象初始化您的 payload
属性。
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
}
关于html - 如何修复未定义的 "ERROR TypeError: Cannot set property ' id',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55646167/