aww*_*ter 2 local-storage angularjs
我有一些本地存储项目,它们是对象列表。
console.log(localStorageService.get("kittens"));
Run Code Online (Sandbox Code Playgroud)
将输出类似:
[
{"name": "fluffy", "color": "white" },
{"name": "luna", "color": "black" }
]
Run Code Online (Sandbox Code Playgroud)
假设我想将luna的颜色更新为棕色。
var myKitten = localStorageService.get('kittens').filter(function(kitten){
return kitten.name == "luna";
})[0];
myKitten.color = "brown";
Run Code Online (Sandbox Code Playgroud)
然后我无法弄清楚如何仅更新本地存储的单个记录。
实际上,我正在向服务器发送请求以更新记录,但是在我的应用程序中它没有得到更新。
当响应返回时,我也想更新本地存储中的记录,但是我似乎只能更新整个本地存储项(“小猫”)。我在文档中没有看到执行此操作的方法,但是我认为应该有一种方法被我忽略。
Localstorage值另存为字符串。
因此,您必须像这样保存它:
var kittens = [
{"name": "fluffy", "color": "white" },
{"name": "luna", "color": "black" }
]
// Save array in local storage as string
localStorage.setItem("kittens",JSON.stringify(kittens));
// Get back item "kittens" from local storage
var kittensFromLocalStorage = JSON.parse(localStorage.getItem("kittens"));
// Change value
kittensFromLocalStorage[1].name = "jasmine";
// Save the new item with updated value
localStorage.setItem("kittens",JSON.stringify(kittensFromLocalStorage));
Run Code Online (Sandbox Code Playgroud)
或者您可以将某些支持库用作LocalForage
| 归档时间: |
|
| 查看次数: |
8152 次 |
| 最近记录: |