2017-11-27 4 views
0

저는 Angular를 처음 사용했으며 AbstractControl 인 반응 형 양식이 있습니다. valueChange에 가입하면 입력 필드의 값 변경 내용을 수신 대기합니다. 구독 된 함수 내에서 특정 조건에서 입력 값을 변경하려고합니다.반응 형 폼에서 AbstractControl의 valueChanges 및 setValue를 수신하는 방법은 무엇입니까?

this.abstractControl.valueChanges.subscribe(data => { 
... 
    if(.....) { 
     this.formGroup.patchValue({ 
      name: result 
     )} 
    } 
... 
} 

나는 this.abstractControl.setValue(result)도 사용하려고 시도하지 않았습니다.

값을 설정하는 데 오류가 발생합니다.

ERROR RangeError: Maximum call stack size exceeded 

값 변경을 듣고 조건을 조건으로 변경하는 권장 방법은 무엇입니까?

+0

포스트 완벽한 최소한의 예를하는 plunkr 등의 문제를 재현. 내 생각 엔 무한 루프가 발생하여 각 변경에 따라 이벤트가 방출되어 이벤트가 발생하도록하는 변경이 발생합니다. –

+0

"조용히"값을 설정하거나 값은 구독을 트리거합니다. 값을 설정합니다. https://angular.io/api/forms/FormControl#setValue를 읽었습니까? – jonrsharpe

+0

@jonrsharpe 감사합니다. emitEvent : false 문제를 해결하는 데 도움이됩니다. – Danaley

답변