我有一个过滤器类,可以在任何需要过滤器功能的地方继承。
export class FilterUtil{
…
public extFilterSubject = new Subject<any>();
constructor(){
this.extFilterSubject
.pipe(map(event => event)
, debounceTime(300)
, distinctUntilChanged())
.subscribe((searchKeyword) => {
//filter logic here.
})
}
}
这有效。
我要完成的事情是有条件地应用distinctUntilUnchanged。 我遇到了一种情况,我不想使用distinctUntilUnchanged运算符。
我调查了official docs for distinctUntilUnchanged。但是我找不到任何相关的东西。
谢谢。
答案 0 :(得分:2)
它只能将当前值与最后发出的值进行比较。 如果您想应用自己的条件。
distinctUntilChanged((valueOne: any, valueTwo: any) => {
if (Your Condition) {
return true; // This means values are equal, it will not emit the current value
} else {
return false;// This means the values are different, so it will emit
}
})