2016-02-27 8 views
6

Wie kann ich mehrere Objekte in einem Array speichern und dann in den lokalen Speicher, so dass ich alle Objekte bei Bedarf mit einer Schleife erhalten kann.Angularjs - So speichern Sie Objekte in einem Array und einem lokalen Speicher

Beispiel Objekte:

var newMsg = { 
     sentDate: msgDate, 
     sentTime: msgTime, 
     msgTitle: "message title", 
     msgDesc: "message desc" 
    }; 

Derzeit https://github.com/grevory/angular-local-storage#configuration-example AngularJS Modul Ich verwende aber kämpfen, Objekte aus einem Array zu speichern und abzurufen.

Ich habe den folgenden Code versucht:

msgArray = []; 
var savedMsgs = localStorageService.set("wimmtkey", newMsg); 

    msgArray.push(savedMsgs); 
    console.log(savedMsgs); 

Diese Ausgänge ‚true‘ in der Konsole aber erwartet, dass das gespeicherte Objekt zu sehen. Empfehlen Sie auch, das Array durchzulaufen, um die Objekte abzurufen. Vielen Dank.

+0

im Allgemeinen Sie die Objekte in dem Array schieben wollen, dann Setzen Sie das Array im localStorage mit der set-Methode. Wenn Sie das Array zurückbekommen wollen, müssen Sie die Methode get verwenden – Akis

Antwort

4

würden einige mehr Code nützlich sein, aber für angular-local-storage dies ist die Art und Weise, dass Sie Objekte in ein Array schieben, bevor das Array in der localstorage Sparend:

var msgArray = []; 
var newMsg = { 
    sentDate: msgDate, 
    sentTime: msgTime, 
    msgTitle: "message title", 
    msgDesc: "message desc" 
}; 

//you can push all the objects here before saving to the storage 
//maybe you have a forEach here, pushing the objects? Who knows 
msgArray.push(newMsg); 

//the array is now set in the storage 
localStorageService.set("wimmtkey", msgArray); 

//the array obtained from local storage 
var obtained_array = localStorageService.get("wimmtkey"); 
+2

Sie müssen nicht mit dieser Bibliothek stringgen, weil die 'set' Funktion die 'toJson()' Methode von angular unter der Haube verwendet. In ähnlicher Weise ist die 'get' Methode' JSON.parse() 'das zurückzugebende Element. Das ist auch nicht nötig. –

+0

danke fürs Erzählen, werde die Antwort bearbeiten – Akis

+0

Danke, arbeitete wie erwartet. – GreenDome

Verwandte Themen