6

我是 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>

当我转到下一页时,然后单击返回,复选框被清除,这是因为我再次调用了对 java 服务的 RESful 调用。如何缓存此响应?

从我的控制器,这每次都会影响我的 REST Web 服务。

$scope.picks = Pick.query();

我的服务

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

2 回答 2

19

从 1.1.2 ( commit ) 开始,所有 $httpConfig 选项都直接暴露在 $resource 操作对象中:

return {
  Things: $resource('url/to/:thing', {}, {
    list : {
      method : 'GET',
      cache : true
    }
  })
 };
于 2013-04-18T10:07:03.353 回答
10

如果你替换$resource$httpthen 你可以直接使用下面的代码

$http({
    method: 'PUT',
    url: 'url',
    cache:true
});
于 2013-03-14T07:13:03.893 回答