如何在整个项目中使用Angular工厂数据

时间:2017-02-04 10:09:37

标签: angularjs angular-controller angular-factory

我有一个Angular js factory。我成功登录后存储用户信息。现在我在所有这些中都有多个controllers我需要这个用户信息,所以我需要inject这个工厂到每个controller。有没有办法在整个项目中访问此factory数据,而无需注入每个控制器?

我们可以直接inject将其加入module吗?

3 个答案:

答案 0 :(得分:1)

一些建议:

  • 在工厂存储用户信息不是一个好方法,因为如果用户重新加载页面,它将重置工厂数据,用户将不再存在。
  • 建议使用sajeetharan,您可以使用HTML5 localStoragesessionStorage来存储用户信息。因此,在没有注入的情况下,您可以轻松地随处访问存储的存储值。
  • 是的,如果您需要用户信息,那么您需要将工厂注入每个控制器,因为从一个控制器切换到另一个控制器时,您必须从工厂获取数据。如果您只注入工厂当您从成功登录移动到其他页面时,它将不会加载工厂。

答案 1 :(得分:0)

用户信息可以存储在local storage或cookie中,以便我可以在任何地方访问。

您也可以考虑使用$rootScope,在这种情况下,您还需要注入所需的所有模块。

答案 2 :(得分:-2)

工厂是模块的一部分。 将其注入所需的控制器是在整个模块中使用保存值的​​方法。