添加新数据的后请求得到类型错误:无法读取未定义的属性"折扣值"



下面有两个对象类。我尝试添加新设备,但出现类型错误"无法读取未定义的属性'discountValue'"。

export class Device {
id: number;
siteId: number;
ValidationDetail: ValidationDetailVM;
}
export class ValidationDetailVM {
id: number;

discountValue: number;
}
onNewDeviceAddFormSubmitted(value: AccessDeviceModels.Device): void {const newDevice = new AccessDeviceModels.Device();
newDevice.siteId = +value.siteId;

newDevice.ValidationDetail.discountValue = +value.ValidationDetail.discountValue;

}

ValidationDetail属性没有在你的Device对象类中初始化任何值。因此,尝试访问newDevice.ValidationDetail.discountValue会出现错误,因为没有任何值分配给newDevice.ValidationDetail,并且ValidationDetail将被视为未定义。

有几种方法可以解决这个问题。

  1. 在你的DeviceObject类中为你的新ValidationDetail初始化一个默认值

  2. 构造ValidationDetail实例作为设备构造函数的一部分。这将确保始终存在一个有效值

最新更新