Angular2路由 – 路由更改时保持组件状态

前端之家收集整理的这篇文章主要介绍了Angular2路由 – 路由更改时保持组件状态前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题在这里已经有一个答案:> 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),允许提供自定义的重用策略.

有关示例,请参见https://www.softwarearchitekt.at/post/2016/12/02/sticky-routes-in-angular-2-3-with-routereusestrategy.aspx

原版的

如果您的组件实现CanReuse并返回true

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

那么组件被保存并重新使用,而不是被破坏并重新创建.

另一种方法是在重新创建组件时将数据保留在共享服务中并从中获取数据.

猜你在找的Angularjs相关文章