1

我正在使用 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');
          });

这是有效的,但我不明白为什么第一个不。有人可以解释一下吗?

4

0 回答 0