Angular 2:在不同组件之间交换而不破坏它们

Angular 2: Swapping between different components without destroying them

我正在尝试使用 Angular 2 构建一个 window 管理器。基本上,我希望能够在 windows 之间进行切换(即注入路由器插座的组件) 而不会丢失他们的状态。比如我正在编辑一个产品信息表,当我切换到客户列表时,然后我回到产品表,我发现它处于相同的状态......这可能吗?

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

如果您指定它,则路由器在离开它时不会破坏您的组件。

以下是我超越此要求的方法。

一旦路线改变,windows 组件就会被销毁。因此,为了在这些 windows 实例之间保存状态,我必须手动将其存储到注入的服务中。

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

编辑

与此同时,我打开了一个 issue on Angular 2 github repo 请求此功能。