Router

Router Diagram

在浏览器中,位置(URL信息)和会话历史记录(当前浏览器选项卡访问的位置的堆栈)存储在全局窗口对象中。 可通过以下方式访问它们:

我们的位置数据是应用程序状态(属于存储的一种状态)的动态且重要的部分。 把它保存在存储中,我们使用devtools调试就像拥有了时间旅行器,可轻松从任何商店连接的组件进行访问。

该插件将该状态从Angular路由器绑定到我们的NGXS存储。

安装

用法

NgxsRouterPluginModule插件添加到您的根应用模块:

现在,该路由将以命名router的状态体现在的存储中。 该状态表示为一个RouterStateSnapshot对象。

您也可以使用存储的调度方法进行导航。 它接受以下参数:new Navigate(path:any [],queryParams ?: Params,extras ?: NavigationExtras)。 下面是一个导航至管理页面的简单例子:

您可以通过订阅RouterNavigation, RouterCancel, RouterErrorRouterDataResolved动作类,使用动作处理程序来侦听组件和服务中的状态更改。

侦听数据解析事件

当导航的路由进行链接的解析器时,您可以侦听它调度的 RouterDataResolved 动作。 例如:

更进一步,当我们需要绑定一些已解析数据的输入属性。 例如:

自定义路由状态序列化器

您可以使用自己实现的路由状态序列化程序来序列化路由快照。

Last updated

Was this helpful?