我参考了路由器商店的ngrx项目(https://github.com/ngrx/router-store).
我不清楚如何使用这个项目......
例如,让我们从项目文档中获取以下示例:
store.dispatch(go(['/path', { routeParam: 1 }], { query: 'string' }));
Run Code Online (Sandbox Code Playgroud)
这是否意味着用作角2路由器的替代品:router.navigate(['/path...?
...或者我应该仅在某些情况下使用ngrx路由器存储?(如果是那些?)
当<a routerLink="/heroes"点击角度2路由器html链接时,ngrx路由器存储会发生什么 ?
更一般地说,与使用普通的角度2路由器相比,有人可以解释一下ngrx路由器商店项目所取得的成果吗?
或者换句话说,除了角度2路由器之外,ngrx路由器商店还带来了什么?
编辑:关于ngrx的有趣的信息和样本来源当然是ngrx example-app(https://github.com/ngrx/example-app).
我发现了对路由器存储的依赖,但我无法找到应用程序中路由器存储的使用位置...
仅供参考,这里是关于路由器商店的示例应用程序中的注释:
@ ngrx/router-store使路由器状态在商店中保持最新,并将商店用作路由器状态的唯一真实来源.
car*_*ant 71
的@ngrx/router-store存在,因此,它可能为专卖店是单一数据源的应用程序的路由状态.
没有它,将会有应用程序状态 - 当前路径 - 未在商店中显示.这意味着使用DevTools进行时间旅行调试是不可能的,因为商店中没有表示路线的状态,也没有表示路线变化的动作.
在router-store不更换角路由器; 它只是为侦听器连接路由操作和路由器本身.
使用go操作创建程序发出路由操作时,"[Router] Go"会听到包含指定路径的操作router-store,然后调用相应的路由器方法.当router-store从路由器听到路线已经改变时,它会发出"[Router] Update Location"表示路线变化的动作,并且该动作会看到商店中路由器状态的更新.
如果用于实现路由更改而不是使用go动作创建者,则会听到更改并发出将更新存储路由器状态的操作.routerLinkrouter-store"[Router] Update Location"
因此,无论路由是通过操作还是更传统的链接进行更改,商店始终都包含路由器状态.
通过"[Router] Update Location"表示路由更改的操作,您可以通过DevTools撤消所述路由更改 - 如果路由器状态未在存储中表示,则无法实现.
如果您没有使用Redux DevTools,我建议您查看它们:
| 归档时间: |
|
| 查看次数: |
11606 次 |
| 最近记录: |