Sto cercando di passare i dati tra le pagine nel processo di checkout di un'app ma non funziona come dovrebbe. Ho fatto alcune letture e la maggior parte delle persone consiglia di utilizzare un servizio, ma l'unico problema è che quando la pagina viene aggiornata (l'utente fa clic su Aggiorna o ritorna in un secondo momento) tutti i dati del servizio scompaiono. Questo ha senso dal momento che i dati di un servizio non sono pensati per essere persistenti, ma sta causando un problema.Passaggio di dati tra le pagine in AngularJS + Aggiornamento pagina
Quindi la domanda è: come posso passare i dati tra le pagine in angularJS e mantenere ancora i dati che sono stati passati dopo l'aggiornamento di una pagina?
Ecco il mio codice finora (con il mio tentativo di utilizzare stringhe di query):
.service('checkoutService',
function checkoutService($location, Address, $routeParams, TicketGroup) {
var ticket_quantity = 0;
var ticket_group = {};
var selected_address = {};
this.loadInformation = function() {
if(!ticket_quantity && $routeParams.ticket_quantity)
ticket_quantity = $routeParams.ticket_quantity;
if(!ticket_group && $routeParams.ticket_group_id)
ticket_group = TicketGroup.get({id: $routeParams.ticket_group_id});
if(!selected_address && $routeParams.address_id)
selected_address = Address.get({id: $routeParams.address_id});
}
this.setTicketQuantity = function(quantity) {
ticket_quantity = quantity;
$location.path().search({ticket_quantity: quantity});
}
this.getTicketQuantity = function() {
return ticket_quantity;
}
this.setTicketGroup = function(object) {
ticket_group = object;
$routeParams.ticket_group = object.id;
}
this.getTicketGroup = function() {
return ticket_group;
}
this.setSelectedAddress = function(object) {
selected_address = object;
$routeParams.address_id = object.id;
}
this.getSelectedAddress = function() {
return selected_address;
}
});
Avete considerato localStorage? –
Oppure usa ngCookie? O avere i dati memorizzati sul server e ricaricarlo durante l'aggiornamento. –