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