首页 > 解决方案 > 如何防止以Angular2 +的反应形式重复调用onChange回调?

问题描述

演示:https ://stackblitz.com/edit/angular-svpg8g

我有一些第三方组件(ThirdPartCounter在 中app/counter.component.ts)。我已将它包装到 Angular 组件中并订阅了更改此计数器。当我与计数器 UI(Increment按钮)交互时,我的流中有正确的事件。但!如果我手动设置计数器值(Clear按钮),我在此流中有重复的事件(一个是因为组件更改,下一个调用之后writeValue)。

writeValue回调后我应该如何防止多余的事件?

标签: javascriptangularangular-componentsangular-reactive-forms

解决方案


试试这个,它不会与 emitEvent 重复为 false

 clear() {
  this.myForm.controls['counter'].patchValue(0, {emitEvent : false});
 }

在这里查看https://stackblitz.com/edit/angular-dc8cyl


推荐阅读