我只需要在localStorage
中存储数组并继续向该数组添加元素,以便我可以在应用程序中检索该存储数组。这对Angular Local Storage Module来说肯定是一件非常简单的事情,但它让我很烦恼,我希望能够得到一些帮助。使用角度本地存储模块在本地存储阵列中存储元素
以下是角码我有我使用的存储queries
到localStorage
使用angular-local-storage
模块:
.factory('QueryService', ['localStorageService', function(localStorageService) {
var queries = [];
var factory = {};
factory.addQuery = function(query) {
queries.push(query);
localStorageService.set('queries', queries);
return localStorageService.get("queries");
};
return factory;
}])
我每次查询添加到queries
阵列,我只得到了最后一个元素添加返回结果。所以基本上,localStorageService.get("queries")
给我加入queries
阵列的最后一个元素。
难道有人请帮助我明白,为什么我只得到我添加到queries
数组返回的最后一个元素?
编辑: 我加入到queries
阵列我刷新浏览器的每个元素之后。
是否_AngularJS_ localStorage的模块自动'stringify'和'parse'你的阵列为您服务。我的理解是,localStorage目前仅支持字符串。因此需要转换(通常使用'JSON.stringify'和'JSON.parse')。我在之前的[答案](http://AngularJS_之外)中写了这个(http://stackoverflow.com/questions/16083919/push-json-objects-to-array-in-localstorage/16084772#16084772)。不知道预构建模块是否适用于您... – War10ck 2014-10-09 17:31:15
关于您的编辑,您是否在将内容存储在localStorage之前或之后刷新浏览器? – War10ck 2014-10-09 17:32:02
@SnareChops&@ War10ck:在添加新元素到'queries'数组之间刷新浏览器是否可以清理'queries'数组? – skip 2014-10-09 17:33:41