FormGroup에서 단일 값을 얻는 방법


86

나는 사용하여 양식의 값을 얻을 수 있다는 것을 알고 있습니다.

JSON.stringify (this.formName.value) 그러나 양식에서 단일 값을 얻고 싶습니다.

어떻게해야합니까?

답변:


135

이런 가치를 얻을 수 있습니다

this.form.controls['your form control name'].value

23
this.form.controls.email.value또한 브라켓없이 작동하지만, 당신이 선호하는 스타일 당신의 최대
Simon_Weaver

@Julia가 말했듯이 "get ()"메소드로 값을 얻는 것이 이것보다 낫습니다.
Kavinda Jayakody


20

점 표기법은 유형 검사를 중단하고 대괄호 표기법으로 전환합니다. get () 메서드를 사용해 볼 수도 있습니다. 또한 내가 읽은 재치대로 AOT 컴파일을 유지합니다.

this.form.get('controlName').value // safer
this.form.controlName.value // triggers type checking and breaks AOT

1
나는 .get()방법에 동의 하지만 .value내 생각 으로 끝날 필요가있다 :this.form.get('controlName').value
rynop

1
WHY를 제공 하므로이 답변에 감사드립니다. 감사합니다.
Mark Rullo

8

Angular 6+ 및> = RC.6의 경우

.html

<form [formGroup]="formGroup">
  <input type="text" formControlName="myName">
</form>

.ts

public formGroup: FormGroup;
this.formGroup.value.myName

또한 작동해야합니다.



2

이 코드도 작동합니다.

this.formGroup.controls.nameOfcontrol.value

2

당신이 사용할 수있는 getRawValue()

this.formGroup.getRawValue().attribute

0

다음과 같은 방법으로 할 수 있습니다.

this.your_form.getRawValue()['formcontrolname]
this.your_form.value['formcontrolname]
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.