Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular ngrx:如何同步url和存储数据_Angular_Ngrx - Fatal编程技术网

Angular ngrx:如何同步url和存储数据

Angular ngrx:如何同步url和存储数据,angular,ngrx,Angular,Ngrx,我开始使用ngrx,我不清楚将url更改同步到存储的概念 让我解释一下。我有一家商店: { "company": "AAA" } 多个组件中需要此值,因此存储中存在此值。 该应用程序包含一个下拉列表,用户可以在其中更改公司 用户在下拉列表中更改公司,商店更新,url更新为/company/BBB。容器组件可以在存储中看到BBB 不清楚的是,当用户直接点击/company/BBB时,如何处理这种情况?如何将此同步到存储?您应该使用@ngrx/router store,它用于将Angular

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

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

{
  "company": "AAA"
}
多个组件中需要此值,因此存储中存在此值。 该应用程序包含一个下拉列表,用户可以在其中更改公司

用户在下拉列表中更改公司,商店更新,url更新为
/company/BBB
。容器组件可以在存储中看到BBB


不清楚的是,当用户直接点击
/company/BBB
时,如何处理这种情况?如何将此同步到存储?

您应该使用
@ngrx/router store
,它用于将Angular router与存储绑定。在每个路由器导航周期中,会调度多个操作,允许您侦听路由器状态的更改。然后,您可以从路由器的状态中选择数据,为应用程序提供附加信息


请参阅此处的文档:

您应该使用
@ngrx/router store
,它用于将Angular router与您的存储绑定。在每个路由器导航周期中,会调度多个操作,允许您侦听路由器状态的更改。然后,您可以从路由器的状态中选择数据,为应用程序提供附加信息


请参见此处的文档:

NgRx is的关键概念

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

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

所以你可以做的是,正如@j3ff所建议的那样,使用路由器存储(如果你只使用几个路由,那就太过分了)。或者在调用某个特定路由时,为该路由调度一个操作,使其易于维护

如果您需要快速实现,那么使用路由器存储将花费相当长的时间


记住最适合您的应用程序,以确保其可读性和易于维护。

NgRx的关键概念是

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

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

所以你可以做的是,正如@j3ff所建议的那样,使用路由器存储(如果你只使用几个路由,那就太过分了)。或者在调用某个特定路由时,为该路由调度一个操作,使其易于维护

如果您需要快速实现,那么使用路由器存储将花费相当长的时间

记住最适合您的应用程序,以确保其可读性和易于维护