在我的组件中,我订阅了ngrx存储,该存储在给定状态更改时触发。我想设置一个条件,如果当前状态和先前状态不同,那么我将执行一些操作。
如何获取以前的状态?
this.store
.select('testPortfolio')
.subscribe(testPortfolio => {
// if(testPortfolio.oldValue !== testPortfolio.currentValueValue) ??? ///something like this
console.log(testPortfolio);
});
答案 0 :(得分:2)
您可以使用distinctuntilchanged。在您的情况下,它将类似于:
this.store
.pipe(
select('testPortfolio'),
distinctUntilChanged((prev, curr) => prev.value === curr.value)
)
.subscribe(testPortfolio => {
console.log(testPortfolio); // called only when testPortfolio value has been changed
});