javascript - 如何防止以 Angular2+ 的 react 形式重复调用 onChange 回调?

标签 javascript angular angular-components angular-reactive-forms

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

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

如何防止 writeValue 回调后发生过多事件?

最佳答案

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

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

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

关于javascript - 如何防止以 Angular2+ 的 react 形式重复调用 onChange 回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50707747/

相关文章:

dart - 将 Material 选择绑定(bind)到我的模型

javascript - 剑道网格 : getting an instance in a Angular directive

javascript - 用作事件处理程序和初始化的 jQuery 函数

javascript - 根据背景颜色更改颜色

javascript - 如何向 JavaScript 回调添加另一个参数

angular - 如何导航到延迟加载的模块子路由?

javascript - Angular:如何从单选按钮组获取数据并将其作为参数传递给方法?

angular - 如何使整个 Angular 组件可点击

angular - SystemJS 为 rxjs 加载很多文件

css - 如何删除 WebStorm sass-lint 错误 "Unknown pseudo selector ' ng-deep'”