首页 > 解决方案 > 如何在 AngularJS 中处理现有的服务实例并注入新的服务实例?

问题描述

我正在开发一个 AngularJS 1.6 Web 应用程序。

Web 应用程序中有许多 AngularJS 服务。我开始实现使用服务在视图之间保持状态的功能。

但是,当用户注销并且另一个用户登录时,这将成为问题。当新用户登录时,服务会保持先前用户的状态。我知道理论上我可以编写代码以在用户登录时将应用程序置于特定状态,但在我看来,在新用户登录时简单地处理有状态服务并实例化新服务会更容易。

有没有方便的方法来做到这一点?

标签: angularjsangular-services

解决方案


这样做的权宜之计是当用户注销时,进行硬刷新并将他们发送到登录页面。这应该会擦除整个应用程序中存储在内存中的数据。

如果您不想执行硬刷新,您只需要手动清除每个服务的数据,这取决于数量,可能是相当多的工作,而且绝对不是权宜之计。


推荐阅读