我正在尝试使用Angular 2构建一个窗口管理器。基本上,我希望能够在窗口之间交换(这是在路由器插座中注入的组件),而不会丢失它们的状态。例如,当我更换为客户时,我正在编辑产品信息表格。列表,然后我回到产品表格,我发现它处于同一状态......是否可能?
答案 0 :(得分:5)
在路由器上结帐canReuse
:canReuse in angular2 api docs
如果你指定它,路由器在切换它时不会破坏你的组件。
答案 1 :(得分:5)
这是我超越这个要求的方式。
路径更改后,Windows组件将被销毁。因此,为了在这些窗口实例之间保存状态,我不得不手动将其存储到注入的服务中。
为了存储和加载每个窗口组件的状态,我使用了路由器提供的生命周期钩子:onActivate(next,prev)和onDeactivate(next,prev)。
修改
与此同时,我已经开通issue on Angular 2 github repo请求此功能。