Javascript 如何防止以Angular2+;的被动形式重复调用onChange回调;?
演示: 我有一些第三方组件(Javascript 如何防止以Angular2+;的被动形式重复调用onChange回调;?,javascript,angular,angular-components,angular-reactive-forms,Javascript,Angular,Angular Components,Angular Reactive Forms,演示: 我有一些第三方组件(app/counter.component.ts中的ThirdPartCounter)。我已经把它包装成角度分量,并订阅了这个计数器的更改。当我与计数器UI(Increment按钮)交互时,我的流中有正确的事件。但是如果我手动设置计数器值(Clear按钮),我在这个流中有重复的事件(一个是因为组件更改,下一个在writeValue之后调用) 如何防止在writeValue回调后发生过多事件?尝试此操作,它不会与emitEvent复制为false clear() {
app/counter.component.ts
中的ThirdPartCounter
)。我已经把它包装成角度分量,并订阅了这个计数器的更改。当我与计数器UI(Increment
按钮)交互时,我的流中有正确的事件。但是如果我手动设置计数器值(Clear
按钮),我在这个流中有重复的事件(一个是因为组件更改,下一个在writeValue
之后调用)
如何防止在
writeValue
回调后发生过多事件?尝试此操作,它不会与emitEvent复制为false
clear() {
this.myForm.controls['counter'].patchValue(0, {emitEvent : false});
}
在这里检查它this.myForm.patchValue({counter:0},{emitEvent:false})代码>也可以工作。谢谢