【问题标题】:How to implement ngxsOnChanges in a component如何在组件中实现 ngxsOnChanges
【发布时间】:2021-10-12 14:41:02
【问题描述】:

我在状态模型中有两个属性,我需要在每个属性上分别设置一个事件,但是当两者同时更改时,我会收到两个事件,我只需要一个类似 ngxsOnChanges 的事件

【问题讨论】:

标签: ngxs


【解决方案1】:

您可以使用选择器将两者结合起来,然后您将能够订阅此选择器并使用debounce。

【讨论】:

    【解决方案2】:

    您可以使用 @Selector 装饰器加入多个选择器,但请注意 injectContainerState 选择器选项,该选项在 NGXS v4 中默认禁用(如果您使用 NGXS,最好将其设置为 false v3.x)

    然后,您可以订阅组件中的新选择器。

     @Selector([ZooState, PreferencesState])
     static firstLocalPanda(state: string[], preferencesState: PreferencesStateModel) {
       return state.find(
         s => s.indexOf('panda') > -1 && s.indexOf(preferencesState.location)
       );
     }
    
     @Selector([ZooState.firstLocalPanda])
     static happyLocalPanda(panda: string) {
       return 'happy ' + panda;
     }
    

    要了解有关加入选择器的更多信息: https://www.ngxs.io/concepts/select#joining-selectors

    【讨论】:

      猜你喜欢
      • 2020-03-11
      • 2019-09-08
      • 2021-10-14
      • 2020-04-12
      • 2021-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-18
      相关资源
      最近更新 更多