使用RxJS运算符distinctUntilChanged,我们可以过滤出不是新的值。但是如果FormControl有初始值,这就不起作用了。: new FormControl(1)});formControl1.valueChanges.pipe(distinctUntilChangeddistinctUntilChanged从不过滤掉第一个发出的值
以下是这个问题的一种解决
我有一个对象流,我需要比较当前对象是否与前一个对象不同,并在本例中发出一个新值。我发现distinctUntilChanged运算符应该做我想做的事情,但由于某些原因,它除了第一个运算符之外,从来不会发送值。如果我删除了distinctUntilChanged,它的值就会正常发出。this.typeChangeStream
.map(x => {console.log('value on way to distinct', x); ret
只有在输入/选择的前一个值=输入/选择的当前值时,我才调用onDataChange()。但是,我注意到,每当将游标放在输入字段上(但没有更改输入字段的任何值/更改下拉值的选择)时,它仍然在调用onDataChange()。= next ),但它仍然执行onDataChange(),即使前一个值与下一个值相同。
主要问题是当将游标放在输入字段但不更改任何值时,它仍然调用onDataChange()。只有在下拉选项中的输入值&
在我们的角度应用程序中,我们非常频繁地使用distinctUntilChanged(),并且我们处于希望使用它来直接比较form.valueChanges的地步。,这样才能得到一个非常基本的比较效果。b)) console.log('fires only on real changes');我不想在每个表单上定义一个自定义比较我看到distinctUntilChanged()是MonoTypeOperat
我有一个使用下限和上限限制的值流,为了减少日志记录的数量,我只想在它们更改时发出值。问题是,以下代码段中的第二个distinctUntilChanged()仍然生成重复的代码:.distinctUntilChangedtarget}, limiting to ${correctedTarget}`); return correctedTarget;
}) // become