如何防止以 Angular2+ 的反应形式重复调用 onChange 回调?
How to prevent double calling of onChange callback in reactive form of Angular2+?
演示:https://stackblitz.com/edit/angular-svpg8g
我有一些第三方组件(ThirdPartCounter
在 app/counter.component.ts
中)。我已将其包装到 Angular 组件中并订阅了此计数器的更改。当我与计数器 UI(Increment
按钮)交互时,我的流中有正确的事件。但!如果我手动设置计数器值(Clear
按钮)我在这个流中有重复的事件(一个是因为组件更改,下一个在 writeValue
之后调用)。
writeValue
回调后如何防止超量事件?
试试这个,它不会与 emitEvent 重复为 false
clear() {
this.myForm.controls['counter'].patchValue(0, {emitEvent : false});
}
演示:https://stackblitz.com/edit/angular-svpg8g
我有一些第三方组件(ThirdPartCounter
在 app/counter.component.ts
中)。我已将其包装到 Angular 组件中并订阅了此计数器的更改。当我与计数器 UI(Increment
按钮)交互时,我的流中有正确的事件。但!如果我手动设置计数器值(Clear
按钮)我在这个流中有重复的事件(一个是因为组件更改,下一个在 writeValue
之后调用)。
writeValue
回调后如何防止超量事件?
试试这个,它不会与 emitEvent 重复为 false
clear() {
this.myForm.controls['counter'].patchValue(0, {emitEvent : false});
}