我正在使用 AngularJS,我想知道如何在离线时使用本地存储数据。我在我的服务中试过这个:
ProjectList = $resource("json/home");
var projectList = ProjectList.query(function(data) {
localStorage.setObj("key", data);
},
function(){
return localStorage.getObj("key");
});
return projectList;
这不起作用,数据被缓存但是当我关闭tomcat时没有绑定。所以我做了这样的事情:
var projectList = $q.defer();
var list = ProjectList.query(function() {
projectList.resolve(list);
},
function(){
projectList.reject(list);
});
return projectList.promise;
在控制器中
ProjectService.getProjectsList()).then(function(data){
console.log("DATA = " + data);
localStorage.setObj('listCacheKey', data);
$scope.projets = data;
},
function(){
$scope.projets = localStorage.getObj('listCacheKey');
});
这是有效的,但我不明白为什么第一个不。有人可以解释一下吗?