2013-03-14 13 views
6

Sono nuovo di angularJS e hanno una domanda sul caching eccAngularJS Cache di un richiesta di RESTO

Ho un mago con due passi, voglio essere in grado di fare clic su Indietro e Avanti e hanno le forme ancora pieno fuori come l'utente li aveva.

Nel mio page1Partial ho questo:

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

Quando vado alla pagina successiva, quindi fare clic su indietro le checkboxs vengono cancellati, e la sua perché la mia chiamata resful a un servizio di Java si chiama di nuovo. Come posso memorizzare questa risposta nella cache?

Dal mio controller, questo colpisce il mio servizio web REST ogni volta.

$scope.picks = Pick.query(); 

Il mio servizio

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

Impostare la cache della proprietà di configurazione su true con l'oggetto $ http –

+0

dove si imposta ciò? è da qualche parte nel mio servizio? – catrapture

+1

Prova a utilizzare l'approccio suggerito nella risposta da shaunlim a questa domanda: http://stackoverflow.com/questions/12772255/angularjs-using-shared-servicewith-resource-to-share-data-between-controller –

risposta

19

Dal 1.1.2 (commit), tutte le opzioni httpConfig $ sono esposti direttamente in oggetti azione $ risorsa:

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

se si sostituisce $resource con $http quindi è possibile utilizzare direttamente sotto il codice

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

Non ho imposta questo valore di cache esplicitamente. Qual è il valore predefinito della cache in Angular 1.4.x? La mia prima app Angularjs/CXF Rest si comporta in modo diverso su vari browser. Non sta caricando i dati appena creati in IE e sembra che usi la vecchia cache. Ma funziona bene su Firefox e Chrome. – Jay

Problemi correlati