Angular 2:在不破坏它们的情况下在不同组件之间交换

时间:2015-11-11 10:11:36

标签: angular

我正在尝试使用Angular 2构建一个窗口管理器。基本上,我希望能够在窗口之间交换(这是在路由器插座中注入的组件),而不会丢失它们的状态。例如,当我更换为客户时,我正在编辑产品信息表格。列表,然后我回到产品表格,我发现它处于同一状态......是否可能?

2 个答案:

答案 0 :(得分:5)

在路由器上结帐canReusecanReuse in angular2 api docs

如果你指定它,路由器在切换它时不会破坏你的组件。

答案 1 :(得分:5)

这是我超越这个要求的方式。

路径更改后,Windows组件将被销毁。因此,为了在这些窗口实例之间保存状态,我不得不手动将其存储到注入的服务中。

为了存储和加载每个窗口组件的状态,我使用了路由器提供的生命周期钩子:onActivate(next,prev)和onDeactivate(next,prev)。

修改

与此同时,我已经开通issue on Angular 2 github repo请求此功能。