gpt4 book ai didi

angular - 滑垫 : one change triggers twice the subscription on valuechanges

转载 作者:行者123 更新时间:2023-12-01 21:58:05 30 4
gpt4 key购买 nike

我想将滑动条与输入文本同步。它工作正常。我还希望在发生模糊事件时更新控件(updateon: 'blur' 但我还希望在滑动条更改时立即更新 formcontrol 的值。

https://stackblitz.com/edit/angular-cakpgs

现在我的问题是:当我通过滑动条更改控件的值时,我的表单的值更改被触发了两次。当我更改值时,我会在公式中执行 patchValue,因为我想立即更新该值。并且当滑动条失去焦点(blur 事件)时,会再次触发 valuechanges 通知。

我该怎么做,我的公式的 valuechanges 只被触发一次,要求是:

  1. 当 blur 事件发生时应该更新 formcontrol updateon: 'blur'
  2. 应立即更新通过滑动条更改的值

最佳答案

我做了以下事情:

this.form.valueChanges
.pipe(distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)))
.subscribe(change => console.log(change));

所以我检查表单是否真的改变了,如果改变了,那么订阅者就会被执行。否则不会调用订阅者。

关于angular - 滑垫 : one change triggers twice the subscription on valuechanges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55205500/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com