Angular 订阅特定表单控件值会从表单控件列表更改为2

Angular 订阅特定表单控件值会从表单控件列表更改为2,angular,angular-forms,Angular,Angular Forms,我有一个表格,其中有一些字段,比如字段a,字段B,字段C,字段D和许多其他字段。用户可以根据需要创建我的字段。但我只想订阅字段A和字段B的值更改。我尝试在整个表单上使用valuechange,它工作正常,但是当表单很大时,订阅整个表单的valuechange是昂贵的。那么有没有办法选择性地订阅表单控件数组。这是我想要尝试的 this.form.subscribe(值=>{ valueA=this.form.get('fieldA').value; valueB=this.form.get('f

我有一个表格,其中有一些字段,比如字段a,字段B,字段C,字段D和许多其他字段。用户可以根据需要创建我的字段。但我只想订阅字段A和字段B的值更改。我尝试在整个表单上使用valuechange,它工作正常,但是当表单很大时,订阅整个表单的valuechange是昂贵的。那么有没有办法选择性地订阅表单控件数组。这是我想要尝试的

this.form.subscribe(值=>{
valueA=this.form.get('fieldA').value;
valueB=this.form.get('fieldB').value

})
使用angular,您最好自定义NgModel,您可以定义一个模型对象或变量,并将其分配给您的输入,如下所示:

prenom: string= 'John';


<input [(ngModel)]="prenom">
prenom:string='John';

对于反应形式

debounceTime将在给定毫秒后进行订阅。如果不需要,请忽略

distinctUntilChanged将仅在实际值更改时强制订阅。如果不需要,请忽略

您只需订阅来自所需控件的值更改。对于两个控件,用作:

  this.form.controls['fieldA']...
   this.form.controls['fieldB']...

该字段是动态创建的。我检查了字段a和字段B是否存在,然后想订阅动态创建的字段列表中的值更改,所以最好的方法是使用FormBuilder和验证器。本文可以帮助您:是否有任何方法可以在这个.form.get方法中传递formcontrolname数组
  this.form.controls['fieldA']...
   this.form.controls['fieldB']...