【问题标题】:How to use Angular factory data throughout the project如何在整个项目中使用 Angular 工厂数据
【发布时间】:2017-02-04 10:09:37
【问题描述】:
我有一个 Angular js factory。成功登录后,我将用户信息存储在其中。现在我有多个controllers,我需要这个用户信息,所以我需要inject这个工厂到每个controller。有没有办法在整个项目中访问这个factory 数据而不注入每个控制器?
我们可以直接将inject 转成module 吗?
【问题讨论】:
标签:
angularjs
angular-controller
angular-factory
【解决方案1】:
一些建议:
- 在工厂存储用户信息不是一个好方法,因为如果用户重新加载页面,它将重置工厂数据并且用户将不再存在。
- 正如sajeetharan 建议的那样,您可以使用HTML5
localStorage 或sessionStorage 来存储用户信息。因此,无需注入,您就可以在任何地方轻松访问存储的存储值。
- 是的,如果您需要用户信息,那么您需要为每个控制器注入工厂,因为从一个控制器切换到另一个控制器时,您必须从工厂获取数据。如果您只在当您从成功登录转到其他页面时,主模块将不会加载工厂。
【解决方案3】:
工厂是模块的一部分。
将其注入所需的控制器是在整个模块中使用保存值的方式。