我开始使用ngrx,并且不清楚将url所做的更改同步到存储的概念。
让我解释一下。我有一家商店:
{
"company": "AAA"
}
此值在多个组件中都是必需的,因此它存在于商店中。 并且该应用程序包含一个下拉菜单,用户可以在其中更改公司。
下拉菜单中的用户更改公司,商店已更新,URL已更新为/company/BBB
。容器组件可以在商店中看到BBB。
目前尚不清楚当用户直接点击/company/BBB
时如何处理情况?如何将其同步存储?
答案 0 :(得分:1)
NgRx的关键概念是。
SideEffects 用于处理异步操作,例如HttpRequest。
Reducer 用于同步操作,例如单击事件。
因此,您可以做的是,如@ j3ff建议使用router-store(如果您要使用很少的路由,则相当过分)。或在调用该特定路由时为该特定路由发送操作,以使事情易于维护。
如果您需要快速实施,那么使用路由器存储将花费大量时间。
请记住最适合您的内容,以提高可读性并易于维护您的应用。
答案 1 :(得分:0)
您应该使用will-change
来将Angular路由器与您的商店绑定。在每个路由器导航周期中,都会调度多个操作,这些操作使您可以侦听路由器状态的变化。然后,您可以从路由器的状态中选择数据,以向您的应用程序提供其他信息。
在此处查看其文档:https://ngrx.io/guide/router-store