ngrx:如何同步URL和存储数据

时间:2018-12-23 19:42:43

标签: angular ngrx

我开始使用ngrx,并且不清楚将url所做的更改同步到存储的概念。

让我解释一下。我有一家商店:

{
  "company": "AAA"
}

此值在多个组件中都是必需的,因此它存在于商店中。 并且该应用程序包含一个下拉菜单,用户可以在其中更改公司。

下拉菜单中的用户更改公司,商店已更新,URL已更新为/company/BBB。容器组件可以在商店中看到BBB。

目前尚不清楚当用户直接点击/company/BBB时如何处理情况?如何将其同步存储?

2 个答案:

答案 0 :(得分:1)

NgRx的关键概念是。

SideEffects 用于处理异步操作,例如HttpRequest。

Reducer 用于同步操作,例如单击事件。

因此,您可以做的是,如@ j3ff建议使用router-store(如果您要使用很少的路由,则相当过分)。或在调用该特定路由时为该特定路由发送操作,以使事情易于维护。

如果您需要快速实施,那么使用路由器存储将花费大量时间。

请记住最适合您的内容,以提高可读性并易于维护您的应用。

答案 1 :(得分:0)

您应该使用will-change来将Angular路由器与您的商店绑定。在每个路由器导航周期中,都会调度多个操作,这些操作使您可以侦听路由器状态的变化。然后,您可以从路由器的状态中选择数据,以向您的应用程序提供其他信息。

在此处查看其文档:https://ngrx.io/guide/router-store