我试图将角形式的未定义值定义为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">