问题标签 [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.
angularjs - ngStorage:什么时候使用LocalStorage,什么时候使用SessionStorage
我计划在我的应用程序中使用 gsklee/ngStorage,并根据文档将 sessionStorage 和 localStorage 注入到模块/控制器中。我的问题是我应该在什么情况下使用 sessionStorage,什么时候应该使用 localStorage?当用户关闭浏览器时,会话是否也会终止?
angularjs - 如何在 angularjs 中使用 ngStorage
访问https://github.com/gsklee/ngStorage。
我的代码有 2 个部分,在 partial1 我有 3 个输入框,其中输入的数据是“abc”、“pqr”、“xyz”,单击按钮时我想重定向到输入框填充以下内容在控制器“abcpqr”、“abxy”中计算的详细信息。
两个部分都使用 localStorage [ngStorage],并且在控制器中,这些值被计算并在单击按钮 [ng-click="functionName()"] 时被推送到 partial2。该函数具有执行计算的逻辑。这个怎么做?
在我正在创建的应用程序中,我在两个部分中都有 20 多个这样的字段,所以我不想传递值,而是将它们存储在 localStorage 中并从那里访问。
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!
任何指导都会有很大帮助!
谢谢你。
控制器:
输出 {{$存储 | json}}
javascript - AngularJS 本地存储性能问题
使用 ng-storage 模块( https://github.com/gsklee/ngStorage)时,我在单个键中遇到大对象的性能问题。
最好的例子是有一个 ng-model 绑定到 localstorage 变量的文本字段。当您在文本字段上键入时,它会滞后很多。
此外,当有一个按钮并非常快速地单击它(值 +1)时,它一直落后于几个数字。
在没有 ng-model 的情况下做同样的事情,没有延迟。
您对如何解决此问题有任何想法,或者我应该以不同的方式设计应用程序吗?
更新
我最终得到了一个计时器,该计时器触发了一个在 30 秒内保存一次数据的功能
javascript - 如何在 Angular JS 中持久化数据和模型
我有一个搜索页面,用户在其中输入搜索条件并显示搜索结果,当用户导航到另一页面并返回此页面时,结果应该保持不变。
每个子模块都有自己的 app.js 和控制器,以及如何跨页面持久化数据。我不太确定如何使用 $localStorage
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
。但是重新加载页面后,视图根本没有编译,并显示
似乎有些冲突。
你对这个问题有什么解决方案?谢谢。
angularjs - angular.injector 中的 $localStorageProvider 和 setKeyPrefix
我想在我的预引导 angular.injector 中配置 ngstorage 的前缀。
因此,也许您知道如何在以编程方式引导“真实”应用程序之前配置 ngstorage 前缀。
谢谢!
javascript - Angular ngStorage 自定义对象
我正在使用 ngStorage 来存储数据。我制作了一个名为游戏的自定义对象并将其存储。它存储为游戏,但是当我刷新浏览器时,它作为对象返回。
添加新游戏时,它会作为游戏存储在 LocalStorage 中,但是当我刷新 Bowser 并尝试获取游戏时。它作为对象数组而不是游戏返回。
javascript - ngStorage(angularjs) 用于语言选项
我有这个 HTML
和 javascript
我正在将语言绑定到 2 种语言的按钮。根据选择的语言,将显示内容。如何存储en
或de
到本地存储。如果我也刷新或更改页面,设置的语言应该相同。怎么做。谁能帮我这是plunker http://plnkr.co/edit/zHMvBWCKevKgGeBerhhE?p=preview
angularjs - 当它监视的函数没有返回值时,角度 $watch 会做什么
全部:
我对 Angular 很陌生,当我试图了解ngStorage 的工作原理时,它的源代码中有一些代码,例如:
来自 Angular Scope 文档:
$watch(watchExpression, listener, [objectEquality]);
在每个 $digest 循环上计算的表达式。返回值的更改会触发对侦听器的调用。
字符串:评估为表达式
函数(作用域):以当前作用域为参数调用。
两种方式都需要一些返回值来触发监听器,但是在这个例子中,没有返回值也没有监听器,所以我有点想知道这段代码是做什么的?
或者是否有人可以简单地谈谈 ngStorage 的工作原理?
谢谢