Angular number 的 Typescript 接口在表单验证中设置为 null ,如果不设置,则一元加运算符会抛出错误

Angular Typescript interface of number is set in form validation to null , then unary plus operator throws errors if not set

虽然我知道有几种方法可以设置 angular typescript 接口然后与它们交互。这是我的问题。

我设置界面

export interface EditUPC {
    weight: number,
    // other fields
}

然后在组件中以反应形式出现

private initForms(fb: FormBuilder){
   upcForm: fb.group({
     
      weight: null,
      // other fields
   })
}

下一步保存表格

由于要转换为数字的“+”一元运算符,此行因“无法读取 Null 的 属性”而爆炸。

 this.upcEdit = 
 {
     weight: +this.form.get('upcForm').get('weight').value,
     //other fields
 }

因此,虽然我可以编写一个函数或在我的几个数字字段上设置条件,但有 easier/better 方法吗?

您可以使用 getRawValue() 将表单转换为对象。

this.upcEdit = upcForm.getRawValue();