使用angular.merge时为什么$ localStorage没有更新

时间:2016-12-01 13:03:47

标签: javascript angularjs local-storage

我的本​​地存储上有一组对象。我希望"同步"与服务器标记为" toSync = true"。

所以我filter我的数组仅保留obj.toSync==trueforEach我执行$http.put并成功回调设置obj.toSync=false并且一切正常已更新为$localStorage。或者 很好......

由于服务器使用可能已更改的其他字段来响应put,因此我将成功回调更改为angular.merge(obj, rsp.data)之前的obj.toSync=false

但是,由于我angular.mergeobj上的$localStorage未更新。当然我可以再次明确地存储它,但我想在将$localStorage传递给一堆函数之前理解为什么。

如果angular.merge正在将"引用" 更改为obj,这或多或少就像。

1 个答案:

答案 0 :(得分:0)

$localStorage返回本地存储中的对象,这是一个可以在每个现代浏览器中找到的数据库。

此数据库将所有内容存储为字符串。除非您故意这样做,否则这些数据不会改变。每次更新对象时,您别无选择,只能更新localStorage。