【问题标题】:How to access localstorage by JavaScript which is created by ngStorage in AngularJS如何通过 AngularJS 中的 ngStorage 创建的 JavaScript 访问 localstorage
【发布时间】:2016-09-17 09:58:33
【问题描述】:

我有一个 AngularJS 应用程序,它将通过 ngStorage ($localstorage) 将某些内容保存到本地存储。我需要使用 JavaScript (localstorage.getitem()) 从 ajax 请求数据中访问该数据。

我已经检查了这种情况下的变量。

在 Angular 中,我检查了 $localstorage 变量,结果是:

和localstorage变量不同:

我有两个问题:

  1. 变量“ngStorage-token”是否只是存储在 angularjs 中的令牌?
  2. 显然它们是不同的,那么“localstorage”如何访问“$localstorage”存储的数据?

【问题讨论】:

  • 关于两条规则: 1.ngStorage 将在脚本完成后与localstorae 同步。 2.如果要访问ngStorage保存的数据,localstorage中的名称为“ngStorage-'name'”。

标签: javascript angularjs local-storage angular-local-storage


【解决方案1】:

当您使用 ngStorage 将值存储在浏览器的 localStorage 中时,如下所示 使用 ngStorage 存储

$localStorage.key = 'value1';

要使用普通的 javascript localStorage 访问此值,您需要将 ngStorage-key 如下所示添加到名称中

使用 Javascript 获取

var storedValue = localStorage.getItem('ngStorage-key');

这相当于

storedValue = 'value1';

我希望这对其他人有帮助

【讨论】:

    【解决方案2】:

    ngStorage 模块使 Web 存储以 Angular 方式工作。

    $localStorage$sessionStorage 是模块服务,通过保存、检索和删除数据与 localStoragesessionStorage 同步并直接使用它们。

    详细的使用方法可以参考here

    【讨论】:

    • 文档说“更改将在 $scope.$storage、$localStorage 和 localStorage 之间自动同步”。但是为什么当我检查值时它们会有所不同?他们甚至没有相同的存储密钥。?
    • 因为$localStorage是ngStorage模块的一个服务,用来访问localStorage,而localStorage是浏览器用来存储数据的存储对象。
    • 所以在这种情况下,localstorage 必须包含 ngStorage 存储的值。我对吗 ?还有一个是为什么ngStorage存储的我的值没有对应的值?
    • 是的,您应该提供一些代码,以便我可以进一步帮助您。
    • 谢谢 我已经测试过了,脚本完成后会同步。如果我们使用 ngStorage 存储数据,在 localstorage 中应该有一个名为“ngStorage-'name defined in angularjs'”的iterm。
    猜你喜欢
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多