Angular 2 构建 --prod 失败"Property 'controls' does not exist on type 'AbstractControl'"



在下面的代码中,this.fbFormBuilder实例

return this.fb.group({
name: ['', [<any>Validators.required]],
phone: ['', [<any>Validators.required]],
email: ['', [<any>Validators.required, Validators.email]],
website: ['', [<any>Validators.pattern(web_pattern)]]
tax_code: ['', [<any>Validators.required,Validators.maxLength(50)]],
owner: this.fb.group({
first_name: ['', [<any>Validators.required, Validators.maxLength(30)]],
last_name: ['', [<any>Validators.required, Validators.maxLength(30)]],
phone: ['', [<any>Validators.required]],
email: ['', [<any>Validators.required, Validators.email]],
password: ['', [<any>Validators.required]],
})
});

在使用ng build --prod构建此代码时,它无法声明:属性"controls"在类型"AbstractControl"上不存在。它的owner密钥有问题,它是FormGroup实例,而不是FormControl。然而,根据角度文档,在FormGroup中添加FormGroup是有效的。

此代码在没有--prod的情况下构建完美。我知道--prod会导致严格的类型检查。我不知道如何纠正这一点。

在表单控件中,您必须使用类似的东西

form.get('qualifications').controls 

或CCD_ 11或CCD_ 12,而这对CCD_。

你需要把它放在组件中,而不是模板中。

模板

<div class="col-md-12" *ngFor = "let address of getAddresses(user) ; let i = index">

组件

getAddresses(form){
return form.get('addresses').controls;
}

工作相同和代码的示例

最新更新