【问题标题】: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 localStoragesessionStorage 来存储用户信息。因此,无需注入,您就可以在任何地方轻松访问存储的存储值。
    • 是的,如果您需要用户信息,那么您需要为每个控制器注入工厂,因为从一个控制器切换到另一个控制器时,您必须从工厂获取数据。如果您只在当您从成功登录转到其他页面时,主模块将不会加载工厂。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多