Angular Reactive Form - Как добавить valueChanges подписки к одному элементу управления внутри элемента управления формы в массиве форм - PullRequest
2 голосов
/ 19 сентября 2019

В Angular Reactive Forms у меня есть контроль формы «name» и контроль массива формы «skills», я могу добавить valueChange подписку на все навыки, но есть ли способ добавить valueChange подписку только на «skillname», котораявнутри "навыков".

this.exp = this.fb.group({
name: [null, Validators.required],
skills: this.fb.array([
  {
    skillname: 'java',
    experience: 2
  },
  {
    skillname: 'python',
    experience: 2
  }
]})})

Пример:

this.exp.skills.valueChanges.subscribe(skills=>
          { //sample code });

Но мне нужно послушать имя навыка:

this.exp.skills[0].skillname.valueChanges.subscribe(name=>
          { //sample code });

Вот так, есть ли способсделать это?

Ответы [ 2 ]

0 голосов
/ 19 сентября 2019
this.exp.get('skillName').valueChanges.subscribe(val=>{
  console.log(val);
});
0 голосов
/ 19 сентября 2019

вы можете использовать функции get и at.

this.exp.skills.at(yourindex).skillname.valueChanges.subscribe(name=>
          { //sample code });

будет

this.exp.get('skills').at(yourIndex).get('skillname').valueChanges.subscribe(name=> {});
...