首页 文章

在订阅时触发NgRedux Angular选择

提问于
浏览
0

我在我的角度应用程序中使用redux已经有好几个星期了,但我只是注意到了一些事情:

当我选择我的商店的一部分来监控变化时,让我们这样说:

在app.component.ts的ngOnInit()中

this.ngRedux.select(s => s.counter).subscribe((counter: number) => {
    console.log(counter)
});

每次我的计数器值改变时都会执行console.log(计数器),这没关系,这就是它的工作方式 .

但是,我第一次订阅时也会执行回调 . 就是这样:

  • 输入onNgInit()

  • 执行select()

  • 执行订阅()

  • 执行我的回调

  • -------后来换柜时:-------

  • 执行我的回调

我的问题是我不希望我的回调在第4步执行,因为商店没有改变!

我的理解是否存在问题?是应该这样工作?如果是:我可以做一些改变吗?

谢谢

1 回答

  • 1

    不幸的是,这是 .subscribe() 的标准行为 . 您唯一能做的就是将当前的 counter 值与新值进行比较,并且只有在发生变化时才对其作出反应 .

相关问题