gpt4 book ai didi

javascript - angular : best way to provide local storage data? 在每个 Controller 中设置 rootScope?

转载 作者:行者123 更新时间:2023-11-29 19:37:23 24 4
gpt4 key购买 nike

在 Angular 应用程序中,我想保留几个变量“全局”。为此,我选择了 localStorage 作为持久存储。优点:在页面刷新时,应用程序的全局“状态”得以保留。

提供这种本地存储的服务

我的问题:将本地存储的数据提供给每个 Controller 并进一步提供给 View 的最干净的方法是什么?我是否必须记住:

  • 将我的本地存储注入(inject)每个 Controller
  • 在每个 Controller 中,将本地存储数据分配给 Controller 的范围?

更多信息:

例如:登录时,我选择项目(“你今天要在哪个项目上工作?”)。这个项目应该是一个全局变量。

应用程序的构建方式是标题部分由 Controller A 提供,内容区域由 Controller B 提供。

然后我必须将本地存储数据注入(inject) Controller A 和 B。

angular.module('app').controller('ControllerA', function ($scope, Session) ...y

在两个 Controller 中,我必须通过以下方式将数据提供给相应的 View :

$scope.session = $localStore.getData();

我不喜欢这样的事实,即我必须为每个 Controller 考虑这些行。这是拥有此类全局应用数据的一种干净且首选的方式吗?

备注:不需要动态绑定(bind)。在登陆页面上,用户选择项目,然后将其持久化,并且可以由所有后续 Controller 以只读方式检索。如果全局变量需要是动态的,情况就会有所不同。

JSFiddle 示例: http://jsfiddle.net/Wr7LS/5/

最佳答案

我建议将 localStorage 放在 angular-service 包装器中,并将其注入(inject)到您需要使用此数据的地方。

不需要 rootScope。

关于javascript - angular : best way to provide local storage data? 在每个 Controller 中设置 rootScope?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24757524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com