我的本地存储上有一组对象。我希望"同步"与服务器标记为" toSync = true"。
所以我filter
我的数组仅保留obj.toSync==true
和forEach
我执行$http.put
并成功回调设置obj.toSync=false
并且一切正常已更新为$localStorage
。或者 很好......
由于服务器使用可能已更改的其他字段来响应put,因此我将成功回调更改为angular.merge(obj, rsp.data)
之前的obj.toSync=false
。
但是,由于我angular.merge
,obj
上的$localStorage
未更新。当然我可以再次明确地存储它,但我想在将$localStorage
传递给一堆函数之前理解为什么。
如果angular.merge
正在将"引用" 更改为obj
,这或多或少就像。
答案 0 :(得分:0)
$localStorage
返回本地存储中的对象,这是一个可以在每个现代浏览器中找到的数据库。
此数据库将所有内容存储为字符串。除非您故意这样做,否则这些数据不会改变。每次更新对象时,您别无选择,只能更新localStorage。