2017-02-04 23 views
0

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

我们可以直接将inject它变成module吗?

回答

1

几点建议:

  • 存储在工厂的用户信息是不是一个好办法,因为如果用户重新载入页面将恢复出厂数据和用户就不会存在了。
  • sajeetharan建议,您可以使用HTML5 localStoragesessionStorage来存储用户信息。所以,如果没有注入,您可以随时随地访问存储的存储值。
  • 是的,如果您需要用户信息,所以您需要将工厂注入到每个控制器,因为从一个控制器切换到另一个控制器时,您必须从工厂获取数据。如果仅在工厂中注入工厂主模块,当您从成功登录移动到其他页面时,它不会加载工厂。
0

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

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

-2

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

相关问题