我想要在两个AngularJS应用程序之间保持和共享一些阵列数据var queries = [];
。 2个应用程序,其中一个用于前端,另一个用于管理端。加载时,两端都会加载整个页面。在两个应用程序之间共享AngularJS应用程序中的本地阵列数据
我尝试使用下面的代码共享数据,但它似乎并没有工作:
.factory('QueryService', function() {
var queries = [];
var factory = {};
//..
factory.addQuery = function(query) {
queries.push(query);
localStorage.setItem('queries', JSON.stringify(queries));
console.log(JSON.parse(localStorage.getItem('queries')));
return JSON.parse(localStorage.getItem('queries'));
};
//..
return factory;
}
我只得到了最后一个元素添加到queries
阵列与上面的代码。
我也试过以下使用angular-local-storage但我仍然得到相同的结果。
.factory('QueryService', ['localStorageService', function(localStorageService) {
var queries = [];
var factory = {};
//..
factory.addQuery = function(query) {
queries.push(query);
localStorageService.set('queries', queries);
console.log(localStorageService.get(('queries')));
return localStorageService.get(('queries'));
};
//..
return factory;
}
我所需要的阵列queries
数据在前端的应用程序和也在管理端可用。
有人可以帮我吗?
当管理端被加载,导致整个页面被加载,'查询'数组不会丢失所有的数据?我们不需要'localStorage'来在本地保存它吗? – skip 2014-10-06 18:13:05
如果你正在谈论两个应用程序,你将需要某种类型的中间件来协助应用程序之间的通信(如websockets等) - localStorage IMO是在两个应用程序之间保持数据的脆弱方式。 – 2014-10-06 19:08:47
我误解了原文 - 因为我假定前/后端都加载了同一个工厂。 – 2014-10-06 19:09:14