AngularJS缓存一个REST请求(AngularJS Caching a REST reque

2019-07-21 13:43发布

我是新来angularJS并有一个关于缓存等问题

我有两个步骤的向导,我希望能够单击后退和未来,并有仍然填写,因为用户不得不他们的形式。

在我page1Partial我有这样的:

<li ng-repeat="pick in picks | orderBy:orderProperty">
<b><span ng-bind="pick.name"/></b>
<input type="checkbox" ng-model="pick.checked" ng-click="updateBasket(pick)">
</li>

当我去到下一个页面,然后点击后面的checkboxs被清除,因为它给我的Java服务RESful再次被调用。 我怎样才能缓存对此有何反应?

从我的控制器,这击中每次我的REST Web服务。

$scope.picks = Pick.query();

我的服务

angular.module('picksService', ['ngResource']).
    factory('Pick', function ($resource) {
        return $resource('rest/picks/:id', {}, {
            'save': {method: 'PUT'}
        });
    });

Answer 1:

由于1.1.2( 提交 ),所有的$ httpConfig选项直接暴露在$资源操作的对象:

return {
  Things: $resource('url/to/:thing', {}, {
    list : {
      method : 'GET',
      cache : true
    }
  })
 };


Answer 2:

如果更换$resource$http ,那么你可以直接使用下面的代码

$http({
    method: 'PUT',
    url: 'url',
    cache:true
});


文章来源: AngularJS Caching a REST request