iborik
February 25, 2016, 6:40pm
1
Hello,
this.local.set('user', user);
I try to store an object in local storage and it doesn’t work.
I have a string when I get it back further in the code :
console.log(this.local.get('user')); OUTPUT => "[object Object]"
Is there something to do before to store an object ?
3 Likes
Hi
localStorage.setItem("lastname", "Smith")
http://www.w3schools.com/html/html5_webstorage.asp
Or better: use the Storage object and Sqlstorage as found in the api of Ionic2
import { Storage, SqlStorage } from 'ionic-framework/ionic';
this.storage = new Storage(SqlStorage);
this.storage.get('questionnaires').then((data) => {
if (data != null) this.questionnaires = JSON.parse(data);
else this.loadDefaultQuestions();
And to store Objects, use JSON.stringify(myObject)
to store and JSON.parse(...)
to turn back
Regards
Tom
6 Likes
Hi @iborik ,
I create a Service
for $localstorage depends on the recommendation from ionic site
angular.module('app').factory('$localstorage', ['$window', function ($window) {
return {
set: function (key, value) {
$window.localStorage[key] = value;
},
get: function (key, defaultValue) {
return $window.localStorage[key] || defaultValue;
},
setObject: function (key, value) {
$window.localStorage[key] = JSON.stringify(value);
},
getObject: function (key) {
return JSON.parse($window.localStorage[key] || '{}');
},
remove: function(key) {
$window.localStorage.removeItem(key);
}
}
}]);
It will be easy to manage $localstorage
at the app.
Then do $localstorage.setObject('user', user);
3 Likes
iborik
February 26, 2016, 3:06pm
4
Thank you for your answer
1 Like
You can just stringify them, see here
1 Like
iborik
February 26, 2016, 3:24pm
6
Yes, thank you, but I speak about Ionic2
1 Like
I have the problem too, any sugestion to solved??, Ibori, u can solve this problem??.
Thanks
1 Like
iborik
September 5, 2016, 10:29pm
8
Hi,
yes, stringify them before to store them just as he said here :
Tommertom:
import { Storage, SqlStorage } from ‘ionic-framework/ionic’;
this.storage = new Storage(SqlStorage);
this.storage.get(‘questionnaires’).then((data) => {
if (data != null) this.questionnaires = JSON.parse(data);
else this.loadDefaultQuestions();
2 Likes
ariang
September 30, 2016, 8:33am
10
I set up a service that set and get the profile of the user
@Injectable()
export class CurrentUser {
local: Storage;
constructor(private http: Http, private _profile: IProfile) {
this.local = new Storage(LocalStorage);
}
setProfile(username: string, token: string): void {
this._profile.token = token;
this._profile.username = username;
this._profile.loggedIn = true;
this.local = new Storage(LocalStorage);
let val = JSON.stringify(this._profile);
this.local.set("user-profile", val);
}
getProfile(): any {
this.local.get("user-profile").then((profile) => {
var val = JSON.parse(profile);
console.log(val);
return profile;
});
}
}
2 Likes
flame3
October 4, 2016, 7:14am
11
It seems that you need to retrieve the data this way
this.storage.get(‘user’).then((value) => {
console.log("user " + value);
//then do the stuff with the user name
});
There is a small delay in the retrieving part, so you have to wait to get the value otherwise you don’t get anything.
1 Like
cbelda
October 21, 2016, 9:44am
12
Hi!
That is quite interesting btw! Taking into account the 2.0.0 final release, which packages should I import in order to have the same features?
Thnx in advance
1 Like
Hi
No clue. Kind of stopped developing for a while.
Regards
Tom
1 Like
hi sir tommertom.
how to set the value here for my database in 000webhost?.
// set a key/value
storage.set(‘name’, ‘Max’);
// Or to get a key/value pair
storage.get(‘name’).then((val) => {
console.log(‘Your name is’, val);
})
}
}
this is my json database:
[{“act_id”:“1”,“act_title”:“Thanksgiving Day”,“act_date”:“November 27, 2016”,“act_content”:“To gather in unity ? It is refreshing and invigorating when people come together, in celebration of a common purpose. It is a reconciliation of differences as well as a time of healing. In sharing our victories as well as our struggles, we find strength and hope…”}]
tnx in advance sir.
1 Like
Sujan12
Split this topic
April 16, 2017, 11:32am
15