我有这个plunker。我正在基于model
(在app.ts
中定义)动态创建表单组件,并且无法添加formControlName = "name"
到组件。在control-factory.directive.ts
中添加this.form.addControl(this.model.name, new FormControl());
,
但是我怎样才能绑定这个值呢?
最佳答案
为了使表单值与您的自定义模型保持同步,我将订阅control.valueChanges
let control = new FormControl(this.model.data);
control.valueChanges.subscribe(x => {
this.model.data = x;
});
this.form.addControl(this.model.name, control);
为了保持模型和视图的同步,我将
FormControl
绑定到反应指令,即formControl
数据包
<input [formControl]="form.get(model.name)">
Modified Plunker