Ida*_*kin 10 angular angular-reactive-forms two-way-binding angular6
我正在尝试使用填充了数据对象的嵌套组件创建复杂的反应形式.
我试图实现的行为非常类似于模板驱动形式的双向数据绑定:当用户编辑表单的输入时,数据对象会自动更改.
但是与模板驱动的形式相反,我无法使用,[(ngModel)]因为它在角度V6的反应形式中被弃用.
我知道fromGroup.patchValue()只会进行单向绑定,然后不得不手动订阅更改事件并手动更新数据对象 - 这将导致大量疲惫的代码.
这种情况有没有解决方法?
好吧,如果我正确地理解了我的工作,我也遇到了类似的问题(我真的不知道这是否是最佳实践),但是它对我有用,因此在HTML中:
<mat-form-field class="mat-container">
<input matInput [formControl]="generalDiscount" type="number"
formControlName="generalDiscount"
(input)="course.amounts.generalDiscount = $event.target.value" <-the workaround
placeholder="Discount" required="required">
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)
此输入使其具有两种绑定方式,在.ts类中,您需要将相同的字段放入表单组中,例如
this.amountGroup = this._formBuilder.group({
[this.course.amounts.fitToNomberOfPeople,Validators.required],
generalDiscount:[this.course.amounts.generalDiscount,Validators.required],
});
Run Code Online (Sandbox Code Playgroud)
希望能有所帮助