0

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

我们可以直接inject把它放进去module吗?

4

3 回答 3

1

一些建议:

  • 将用户信息存储在工厂不是一个好方法,因为如果用户重新加载页面,它将重置工厂数据并且用户将不再存在。
  • 正如sajeetharan 所建议的,您可以使用 HTML5localStoragesessionStorage存储用户信息。因此,无需注入,您就可以轻松地在任何您想要的地方访问存储的存储值。
  • 是的,如果您需要用户信息,那么您需要将工厂注入每个控制器,因为从一个控制器切换到另一个控制器时,您必须从工厂获取数据。如果您只在主模块中注入工厂,它当您从成功登录移动到其他页面时,将不会加载工厂。
于 2017-02-04T21:44:19.030 回答
0

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

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

于 2017-02-04T10:11:56.973 回答
-2

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

于 2017-02-04T10:12:27.163 回答