Angular Route Resolve Guards - 需要帮助

时间:2017-11-24 14:30:28

标签: angular angular-router-guards

问题描述

在我的应用程序中,我正在使用JWT身份验证。在令牌的有效负载内,我存储了用户ID。 在登录之后,或者当用户刷新页面并且仍然具有有效令牌时,我使用令牌内的id从我的后端检索有关用户的一些信息。 我需要在依赖它们的应用程序的多个组件之间共享这些信息。

当前解决方案

我有一个服务,可以在对象中检索和存储这些信息。 依赖这些信息正常工作的组件将这些服务注入其中(服务是单例)并在其布局之上具有* ngIf,以避免在信息不存在时显示任何内容。

可能的替代解决方案(路线解决)

我最近发现了路线解决警卫。这些对我来说有用吗? 我可以实现一个需要在显示页面之前加载信息的防护,并将其添加到需要它们的所有路由。

  • 这些警卫是否像服务一样工作?
  • 可以注入吗? 组件?他们是单身人士吗?
  • 如果我将包含用户信息的对象返回到路径(我会在第一次加载后将对象存储在路径防护中,以避免不必要的api调用),这将是防护内容中存在的相同对象还是副本? (如果我需要修改它)(如本教程中所述http://www.callibrity.com/blog/angular-2-route-resolves

谢谢

1 个答案:

答案 0 :(得分:0)

我希望我对这个问题的回答可以帮助您

  

问:有没有办法解决之前的Angular 4服务的数据   它被注入一个组件?

     

答案:https://stackoverflow.com/a/47507341/6926892