Angular2中FormControlName的动态绑定

San*_*alp 5 angular

我正在创建嵌套组件.有多个formGroups我想动态绑定它们.例如.

组件中的forGroup就像

formGroup : {
    controls:{
        firstName: FormControl,
        lastName: FormControl,
        userName: FormControl,
        Password: FormControl
    }
}
Run Code Online (Sandbox Code Playgroud)

HTML类似于&它适用于多个控件..

<div [formGroup]='formGroup'>
    <div class="error-box">{{formGroup.controls.get('firstName').errors}}</div>

    <div *ngIf="formControl.firstName?.visible" [ngClass]="{'has-error': formControl.firstName.error}">
        <label>{{formGroup.controls.get('firstName').label}}</label>
        <input type="text" formControlName="firstName" [maxlength]="formContrl.firstName?.maxLength">
        <span class="error" *ngif="formControl.firstName.error"></span>
    </div>

    <div class="error-box">{{formGroup.controls.get('lastName').errors}}</div>

    <div *ngIf="formControl.lastName?.visible" [ngClass]="{'has-error': formControl.lastName.error}">
        <label>{{formGroup.controls.get('lastName').label}}</label>
        <input type="text" formControlName="lastName" [maxlength]="formContrl.lastName?.maxLength">
        <span class="error" *ngif="formControl.lastName.error"></span>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想绑定通用组件中的控件.

我试过这个.

<text-input [group]="formGroup.controls.firstName" [formControls]="formControl.firstName"></text-input>
Run Code Online (Sandbox Code Playgroud)

所以我正在创建常见的HTML,但是当我尝试绑定它时,它给出了绑定指令的错误 formControlName="formControls.name //withwhat I am passing"

nhe*_*ich 13

刚遇到同样的问题......

你必须使用[formControlName]="formControls.name"而不是formControlName="formControls.name".

更多信息请访问https://angular.io/docs/ts/latest/cookbook/dynamic-form.html.