问题标签 [ng-storage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
104 浏览

angularjs - ngStorage:什么时候使用LocalStorage,什么时候使用SessionStorage

我计划在我的应用程序中使用 gsklee/ngStorage,并根据文档将 sessionStorage 和 localStorage 注入到模块/控制器中。我的问题是我应该在什么情况下使用 sessionStorage,什么时候应该使用 localStorage?当用户关闭浏览器时,会话是否也会终止?

0 投票
1 回答
39106 浏览

angularjs - 如何在 angularjs 中使用 ngStorage

访问https://github.com/gsklee/ngStorage

我的代码有 2 个部分,在 partial1 我有 3 个输入框,其中输入的数据是“abc”、“pqr”、“xyz”,单击按钮时我想重定向到输入框填充以下内容在控制器“abcpqr”、“abxy”中计算的详细信息。

两个部分都使用 localStorage [ngStorage],并且在控制器中,这些值被计算并在单击按钮 [ng-click="functionName()"] 时被推送到 partial2。该函数具有执行计算的逻辑。这个怎么做?

在我正在创建的应用程序中,我在两个部分中都有 20 多个这样的字段,所以我不想传递值,而是将它们存储在 localStorage 中并从那里访问。

0 投票
1 回答
211 浏览

javascript - Angularjs在使用NG-Disabled推送之前检查数组

每件衣服都分配了一个 ID,可以在$StateParams函数和页面 URL 中找到衣服 ID - 例如 #/dresses/21。

当用户点击 Heart (Like) 或 Broken Heart (Dislike) 按钮时,礼服 ID 将放置在 localstorage Heart/Broken Heart 数组中 - 见下文。

此外,当单击任一按钮时,该按钮会自行禁用,从而防止推送多个礼服 ID!这可以通过单击操作按钮来恢复。

问题!
我不知道如何在刷新页面后阻止提交相同的礼服 ID - 我尝试在推送礼服 ID 之前搜索数组,但这不起作用。此外,我可以通过防止双击来防止提交双重礼服 ID,但是如果我刷新页面,按钮可以将礼服 ID 推送到数组中,尽管它已经存在礼服 ID!

任何指导都会有很大帮助!
谢谢你。

设计:HTML:
在此处输入图像描述

控制器:

输出 {{$存储 | json}}

0 投票
0 回答
228 浏览

javascript - AngularJS 本地存储性能问题

使用 ng-storage 模块( https://github.com/gsklee/ngStorage)时,我在单个键中遇到大对象的性能问题。

最好的例子是有一个 ng-model 绑定到 localstorage 变量的文本字段。当您在文本字段上键入时,它会滞后很多。

此外,当有一个按钮并非常快速地单击它(值 +1)时,它一直落后于几个数字。

在没有 ng-model 的情况下做同样的事情,没有延迟。

您对如何解决此问题有任何想法,或者我应该以不同的方式设计应用程序吗?

更新

我最终得到了一个计时器,该计时器触发了一个在 30 秒内保存一次数据的功能

0 投票
1 回答
6853 浏览

javascript - 如何在 Angular JS 中持久化数据和模型

我有一个搜索页面,用户在其中输入搜索条件并显示搜索结果,当用户导航到另一页面并返回此页面时,结果应该保持不变。

每个子模块都有自己的 app.js 和控制器,以及如何跨页面持久化数据。我不太确定如何使用 $localStorage

0 投票
0 回答
864 浏览

angularjs - Angular ngstorage 和 satellizer localstorage 前缀冲突

我为我的应用程序使用ngstorage卫星角度模块。但我对存储前缀配置有疑问。

对于ngstorage

  • 它将数据保存为:NGSTORAGE_PREFIXkey = value
  • 默认前缀是:'ngStorage-'

对于卫星器

  • 它将数据保存为:SATELLIZER_PREFIX_key = value
  • 默认前缀是:'satellizer',键前有附加下划线 (_)

我们知道,在$auth.login()令牌被保存到 localStorage之后satellizer_token = SOME_TOKEN

我想使用 ngstorage 进行 localStorage 的所有操作,特别是我需要访问satellizer_token之前保存到 localStorage 的内容。为此,我需要为两个模块设置相同的前缀,如下面的代码所示

应用程序.js

控制器.js

视图.js

$auth.login()视图编译好后,显示$storage.mykey值(即myvalue),但没有$storage._token。但是重新加载页面后,视图根本没有编译,并显示

似乎有些冲突。

你对这个问题有什么解决方案?谢谢。

0 投票
1 回答
1175 浏览

angularjs - angular.injector 中的 $localStorageProvider 和 setKeyPrefix

我想在我的预引导 angular.injector 中配置 ngstorage 的前缀。

因此,也许您知道如何在以编程方式引导“真实”应用程序之前配置 ngstorage 前缀。

谢谢!

0 投票
1 回答
555 浏览

javascript - Angular ngStorage 自定义对象

我正在使用 ngStorage 来存储数据。我制作了一个名为游戏的自定义对象并将其存储。它存储为游戏,但是当我刷新浏览器时,它作为对象返回。

添加新游戏时,它会作为游戏存储在 LocalStorage 中,但是当我刷新 Bowser 并尝试获取游戏时。它作为对象数组而不是游戏返回。

0 投票
3 回答
185 浏览

javascript - ngStorage(angularjs) 用于语言选项

我有这个 HTML

和 javascript

我正在将语言绑定到 2 种语言的按钮。根据选择的语言,将显示内容。如何存储ende到本地存储。如果我也刷新或更改页面,设置的语言应该相同。怎么做。谁能帮我这是plunker http://plnkr.co/edit/zHMvBWCKevKgGeBerhhE?p=preview

0 投票
0 回答
115 浏览

angularjs - 当它监视的函数没有返回值时,角度 $watch 会做什么

全部:

我对 Angular 很陌生,当我试图了解ngStorage 的工作原理时,它的源代码中有一些代码,例如:

来自 Angular Scope 文档:

$watch(watchExpression, listener, [objectEquality]);

在每个 $digest 循环上计算的表达式。返回值的更改会触发对侦听器的调用。

字符串:评估为表达式

函数(作用域):以当前作用域为参数调用。

两种方式都需要一些返回值来触发监听器,但是在这个例子中,没有返回值也没有监听器,所以我有点想知道这段代码是做什么的?

或者是否有人可以简单地谈谈 ngStorage 的工作原理

谢谢