如何在不销毁和重新初始化组件的情况下使用相同的组件转移到其他路由?

How to transit to other routes using the same component without destroying and reinitializing Component?

我有一个 ProfileComponent,在页面内用户可以点击字母来过滤配置文件。

入口点:/profile

A B C ... X Y Z

当用户点击这些字母时 -> url: /profile -> /profile/;startWith=X.

我想保留 URL 中的 startWith 参数,但我注意到 Angular 2 会破坏当前组件,然后重新创建并再次初始化相同的组件。如何在不重新初始化组件的情况下保留 URL 参数?

如果你实施CanReuse

routerCanReuse(next: ComponentInstruction, prev: ComponentInstruction) { return true; }

在您的组件中,路由器应该保留同一个实例,而不是重新创建一个新实例。