2017-10-26 23 views
1

나는 Angular2에서 반응 양식을 설정했습니다. 구성 요소에서 내가 좋아하는은 500ms의 디 바운스 시간이 폼 컨트롤의 값이 변경에 가입 :사용자 입력에 대해서만 각도 디 바운싱

myForm.get("myField").valueChanges.debounceTime(500).subscribe(...); 

값이없는 사용자가 코드에 의해 변경된 경우 디 바운스 시간을 건너 뛸 수있는 방법이 있나요? 또는이 두 가지 이벤트를 나누는 방법이 있습니까? 당신이 언급 한 docs에서 emitEvent:false를 사용할 수 있습니다 당신은 프로그래밍 방식으로 귀하의 값을 설정

+0

당신이 사용할 수 있습니다 : https : //로 유래 .com/a/43123590/2349407, 프로그래밍 방식으로 값을 변경하면 호출되지 않습니다. –

답변

1

, ...

emitEvent입니다 true 경우,이 변화는 FormControl에 valueChanges 이벤트가 방출되는 원인이됩니다. 기본값은 true입니다.

때문에 화재 valueChanges가 발생하지 않습니다 false로이 설정, 그래서 당신은 어떤 점에서 값을 설정하는 경우 다음을 수행 할 수 있습니다

this.myForm.get('myField').patchValue('my value', {emitEvent:false})