保持用户信息在应用程序中缓存

时间:2015-01-14 21:48:28

标签: angularjs

我有一个带有非角度登录页面的angularjs应用程序。登录后,您将被重定向到角度应用程序。我已经设置了一个$ httpProvider,这样任何产生401的请求都会将用户重定向回登录页面。

同时,当用户在应用程序中时,我希望始终为应用程序提供用户详细信息。像用户名,一些设置等,理想情况下我会在初始视图加载之前获得此信息。理想情况下,我只会抓住这些信息一次。

最好的方法是什么?我可以使用服务在控制器/视图之间缓存用户,但是如何在向用户显示初始视图之前将其填充以使其具有必要的信息(因为显示该初始视图需要一些数据)?

2 个答案:

答案 0 :(得分:0)

成功登录后,您可以将用户详细信息保存在本地存储中。然后,您可以通过在代码中注入$ localstorage来检索角度空间中的任何信息

答案 1 :(得分:0)

您使用的是ngRoute还是uiRouter?利用其resolve功能,可以在路由更改/状态更改发生之前解析承诺。如上所述,使用服务。给它一个方法,一旦你检查了你是否已登录就解决了一个承诺。

响应到达后,解决承诺。然后Angular将实例化控制器并进行路由转换,您可以再次注入服务并呈现您的页面,知道内容已准备就绪。