在路由中传递对象

Ham*_*mer 9 angular2-routing angular

我在Angular2中有一个组件,用于托管用户表(userTableComponnent)和另一个userDetails组件.单击users表中的一行后,我想要路由到userDetails.一种实现方式是仅传递userId,因此在userDetails中,我使用另一个http get获取用户的详细信息.但是,这是多余的,因为我抓取了userTableComponent中的所有用户信息.所以我真正需要的是将User对象从userTableComponent传递给userDetails.知道如何通过路由实现它吗?

Pic*_*cci 13

您可以创建一个SessionService类,并通过依赖注入将其传递给您的App.

选择用户后,您可以将相关数据附加到通过DI注入的SessionService实例,并在userDetails组件中检索它.

我希望它有所帮助

  • 如果刷新意味着使用F5键,是的,除非您使用本地存储,否则一切都会丢失,因为您正在重新加载应用程序.考虑到这些是单页应用程序,这意味着,除了其他事项外,它们在加载到浏览器上时就会重新开始. (2认同)

Gün*_*uer 8

通过路由传递对象非常有限.使用服务是更好的选择.如果您通过父组件提供服务实例,则会在父级和子级中注入相同的实例,并且您可以立即获得共享数据.

另见https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service

在RC.4中也data重新引入了路由如何使用路由时如何在Angular 2组件中传递数据?