如何处理现有服务实例并在 AngularJS 中注入新服务实例?

How to dispose existing services instances and inject new service instances in AngularJS?

我正在开发 AngularJS 1.6 网络应用程序。

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

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

有什么方便的方法吗?

执行此操作的权宜之计 方法是在用户注销时进行硬刷新并将其发送到登录页面。这应该擦除存储在整个应用程序内存中的数据。

如果您不想执行硬刷新,则只需手动清除每项服务的数据,根据数量,这可能是一项相当大的工作,但绝对不是权宜之计.