这个问题在这里已经有一个答案:>
Angular2 router 2.0.0 not reloading components when same url loaded with different parameters?1
我有一个应用程序,在路由后面有意见,我需要能够从路由更改时继续,但是在返回后,组件处于初始状态.
我有一个应用程序,在路由后面有意见,我需要能够从路由更改时继续,但是在返回后,组件处于初始状态.
有没有办法保持组件的状态?
更新此答案仅适用于很久以前停止的路由器版本.
请参阅https://angular.io/docs/ts/latest/guide/router.html#!#guards,了解如何在当前路由器中执行此操作.
更新
现在,https://github.com/angular/angular/pull/13124的新路由器现在已经修复(角度2.3),允许提供自定义的重用策略.
原版的
如果您的组件实现CanReuse并返回true
routerCanReuse(next: ComponentInstruction,prev: ComponentInstruction) { return true; }
那么组件被保存并重新使用,而不是被破坏并重新创建.