使用新的角度路由器重用组件(3.0.0-rc.1)

时间:2016-08-18 13:02:52

标签: angular angular2-routing

我们最近将angular2应用程序从2.0.0-beta.15升级到2.0.0-rc.5(包括迁移到新路由器3.0.0-rc.1)。通过左侧的菜单和页面顶部的子菜单,我们的应用程序同时有两个<router-outlet>

在更新后追逐一些不同的行为,我注意到我们的应用程序中的任何组件现在(在更新之后)被破坏和构建,即使该组件在<router-outlet>之外。旧路由器不是这种情况。这就像新路由器无法重用已有的组件。

我将angular CrisisCenter分叉到plunker并向每个组件构造函数添加了一些简单的调试控制台输出,以验证这是由于新版本而不是配置。行为是相同的:count永远不会增加,因为组件永远不会被重用。有没有人知道如何重用组件的实例?

除此之外,有人可以解释为什么新路由器不想重用组件吗?我已经从CanReuse遇到@angular/router-deprecated,但此功能尚未到达新路由器。但即使CanReuse适用于新路由器,默认情况下重用组件而不是为所有“静态”组件实现CanReuse会更有意义吗?或者不应该重复使用组件?

1 个答案:

答案 0 :(得分:2)

听起来您遇到了此问题https://github.com/angular/angular/issues/10702,该问题已修复,并将包含在下一次更新中。