AngularJS,将资源服务json保存到localstorage并有条件地更新

时间:2014-08-09 05:11:23

标签: javascript json angularjs ngresource

我需要通过从服务器下载大尺寸数据来更新本地缓存数据,只有在检测到新版本时,我正在使用ngResource

goodServices.factory('Good', ['$resource',
  function($resource){
    return $resource('../WebService/list_goods.ashx?gid=:gid', {}, {
      query: {method:'GET', params:{q:'all'}, isArray:true}
    });
  }]);

每当检测到新版本(GET版本号)时,如何请求并将响应数据保存到LocalStorage

1 个答案:

答案 0 :(得分:1)

与本地存储通信我想建议您ngStorage将其注入控制器

function yourBaseController(Good,$localStorage){
   var newVersion = Good.get(..your params), // it should return your new version
       currentVersion = $localStorage.version;
   if(newVersion !== currentVersion ){
      $localStorage.version = newVersion;
   }
}

或者如果您的应用程序引导时没有一个始终正常工作的基本控制器,您可以在.run块中移动此逻辑