值或形式.值不确定

  • 本文关键字:不确定 angular7
  • 更新时间 :
  • 英文 :


我试图将角形式的未定义值定义为nulls,直到输入表单数据为止。我正在获得错误类型:无法读取未定义的属性"值"。我知道,我的价值未定义而不是无效。我在文件中定义了它们,但我不确定为什么该表单没有选择链接它们。

我尝试了Stackoverflow,YouTube和Angular Documents的多个建议。

Associate.component.ts

constructor(private service: AssociateService) { }
  ngOnInit() { //put null check
    this.resetForm();

  }
  resetForm(form?: NgForm) {
    if(form != null)
      form.resetForm();
    this.service.formData = {
      EmployeeID: null,
      FirstName: '',
      MiddleName: '',
      LastName: '',
      EmployeeType: null,
      EmployeeStatus: null,
      EmployeeLevel: null,
      EmployeeRole: null,
      Proactive: false
    }
  }
  onSubmit(form: NgForm) {
    debugger;
    if (form.value.EmployeeID == null)
      this.insertRecord(form);
    else
      this.updateRecord(form)
  }

Assocaite.component.html


<form #form="ngForm" autocomplete="off">
    <div style="margin-left: 10px">
        <div class="form-group">
        <label>EMPLOYEEID</label>
        <input   name="EmployeeID" #EmployeeID=ngModel [(ngModel)]="service.formData.EmployeeID" class="form-control">
    </div>

i具有所有其他形式的HTML的其余部分。只是想尽可能多地修剪代码。

我需要form.value.employeeid来提取this.service.formdata的值。任何帮助或指导都是惊人的。我已经陷入困境了两天。

另一种方法可能是:

step1-创建模型对象employe.model.ts

export class employee{
 employeeID:number,
 name:string,
 lastName:string,
 ...
 ...
 ...
}

step2:在component.ts

中初始化
emp:Employee | undefined;
constructor(private service: AssociateService) {
this.emp= new Employee();
}
 onSubmit() {
if (form.valid && this.emp.EmployeeID == undefined)
  this.insertRecord(this.emp);
else
  this.updateRecord(this.emp)
}

step3- html文件查找模型绑定

<input   name="EmployeeID" #EmployeeID=ngModel 
        [(ngModel)]="emp.EmployeeID" class="form-control">

相关内容

最新更新