微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;
}

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

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

原文地址:https://www.jb51.cc/angularjs/140525.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐