0

我的方案是为同一组件创建不同的独立状态,因此当一个组件发生任何变化时,不会影响其他组件状态。

我面临的问题是,每当我更改一个组件中的任何内容时,它也会更新其他组件状态

在我的情况下,我正在创建一个数据选项卡,在其中我使用不同的对象数据数组动态加载相同的组件。因此,如果我更新一个选项卡中的任何数据,则另一个选项卡不应受到影响。

NgRx 可以吗?

4

3 回答 3

1

我在Management different slices of the same NgRx state中写下了不同的方法。

您必须通过他们的 id 来存储状态:

{
  "counters": {
    "31cd7f19-559e-4d77-8899-97797368b8c4": {
      "count": -1
    },
    "ca6184a4-10cf-473c-b1f6-6bb73ab20679": {
      "count": 4
    },
    "1caf0bc3-1414-4221-ae1d-a94f99ced451": {
      "count": 0
    }
  }
}
于 2020-01-25T17:42:35.097 回答
0

是的,这可以通过在组件和 NgRx 存储之间提供服务来实现。基本上,这里的服务就像组件的数据提供者(想象一下每个选项卡有一个单独的服务,每个服务都知道要使用哪个商店羊肚菌)。

于 2020-01-25T15:05:11.943 回答
0

Ngrx 在 Angular 10 中引入了@ngrx/component-store。这使得保持每个组件的状态更容易。您可以像使用反应式服务一样使用它,将其注入到组件中并在组件中提供。

重要的是在组件中提供,以便每个组件都保留状态,而不是像常规 ngrx 状态那样的一个全局状态。

https://ngrx.io/guide/component-store

于 2020-12-22T22:31:38.943 回答